![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mój pierwszy post (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Mam pytanie odnośnie polecenia mysql_query. Jakoś nie mogłem się nigdzie doszukać, a jestem laikiem w sprawie baz danych. Mam jedną aktualną tablicę i tablicę wartości w bazie danych. Kod 1 wygląda tak:
Natomiast kod 2 wygląda tak:
Moje pytanie jest następujące: Czy wywołanie mysql_query powoduje wywołanie zapytania na bazie danych i przetrzymuje wynik gdzieś w pamięci? Czy jest to raczej na zasadzie "resource" jak na przykład przy otwieraniu pliku na dysku, a dopiero mysql_fetch wywołuje zapytanie pobierania z bazy. W drugim wypadku jak dobrze rozumiem dwa kody miałyby identyczny wpływ na obciążenie bazy danych. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Możliwe, że nie opisałem do końca (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Mam aktualne dane w tablicy "dane_aktualne".
W przypadku tego kodu:
pobieram całą zawartość tablicy z bazy danych. I teraz muszę znaleźć w "dane_akutalne" wiersz odpowiadający aktualnemu wierszowi z bazy danych i porównać wartości obu tablic, czyli $wiersz i $dane_aktualne[$i]. Wadą tego rozwiązania jest to, że jak baza urośnie to będę miał np. 1000, 10000 wierszy do porównania z drugą tablicą.. max 200 wierszy. Natomiast w przypadku tego kodu:
Tak naprawdę ograniczam się tylko to porównania wybranych rekordów o określonym user_id. Czyli sprawdzam tylko to co muszę uaktualnić. W drugim przypadku jak wynika będę miał np. 200 zapytań do bazy, ale zwrócony zostanie maksymalnie jeden wiersz lub 0, jeśli nie ma go w bazie. I teraz chodzi o wydajność takiego rozwiązania.. zrobić jedno zapytanie a później sprawdzać wszystko(baza przeciez stale rośnie) z nowymi, czy zrobić tylko określoną ilość zapytań i przetwarzać tylko te przypadki. Nie wiem czy takie masowe wysyłanie zapytań nie przeciąży bazy. Oczywiście pierwszy sposób można zoptymalizować na razie tylko testuję. Ewentualnie jeśli ktoś zna jakiś pomysła na to aby uaktualnić w prosty sposób baze lub jakiś algorytm będę wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 19:26 |