![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 31.01.2003 Skąd: piękne, czyste, pachnące Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Z tego co wiem funkcja mysql_query() pobiera uchwyt do wyniku z zapytania, a dopiero funckja np. mysql_fetch_assoc() daje dostęp do danych. Wiecie może gdzie faktycznie znajduje się wynik zapytania do którego prowadzi uchwyt zwracany przez mysql_query()? Pytam, ponieważ mam problem z adminem, który twierdzi że już na etapie mysql_query() MySql wysyła dane do interpretera php i z tego powodu każe mi optymalizować zapytania. Pytam o to, ponieważ mam taki przypadek, że wykonuję mysql_query() a nastepnie nie wykonuję mysql_fetch_assoc() i nie wiem na ile ma sens to co on mówi (czyli czy to ja piszę słabe zapytania czy może on oferuje mi mało wydajną bazę). Z góry dziękuję za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) J. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Po sparsowaniu lini
Wynik zapytania siedzi w zmiennej $result co chyba jasno obrazuje powyzsza linijka. W momencie kiedy chcesz wyswietlic taki wynik albo uzyc go do dalszych dzialan musisz taki wynik sparsowac do postaci wygodnej dla php, sluza do tego funckcje z rodziny mysql_fetch_* (w przypadku mysqla oczywiscie) Nie widze sensu wykonywania zapytania jesli pozniej nijak nie korzysta sie z wyniku (nie tylko fetchem ale tez np mysql_num_rows()). Zasada prosta, im mniej zapytan tym lepiej i szybciej, wiec jesli wysylasz zapytania i nijak nie korzystasz z wyniku to ciezko powiedziec zeby Twoje zapytania byly malo optymalne, one sa zbedne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 31.01.2003 Skąd: piękne, czyste, pachnące Katowice Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za odpowiedz.
Czyli jak rozumiem po mysql_query wynik idzie do interpretera php. O to mi chodziło. Dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Na marginesie: nie pisałem że nie korzystam z zapytań, napisałem tylko że nie używam mysql_fetch_assoc(). Akurat trafiłeś, po mysql_query() jest mysql_num_rows() ... ale już to sobie zoptymalizowałem. Chodziło mi tylko o odpowiedz na pytanie zawarte w temacie posta. Dzięki raz jeszcze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Jesli chodzi o num_rows() to jesli juz optymalizujesz to zmien zapytania na SELECT COUNT(pole) AS nazwa, wtedy nie bedzies zmsuial ciagnac ogromnej ilosci rekordow z bazy tylko po to zeby je sobie policzyc, korzystaj z funkcji ktore oferuje sama baza, mozna zaoszczedzic sporo czasu i wysilku.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:41 |