![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 29.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam
Tak sobie teraz siedze i koduje, i zastanawia mnie, jaki jest najszbszy sposob na sprawdzenie czy zapytanie wyplulo jakis rekrod czy nie? i nie interesuje mnie zawartosc rekordu ... zazwyczaj badam ilosc wynikow: [php:1:05fff26a1b]<?php if (mysql_num_rows($wynik)>0) {...} ?>[/php:1:05fff26a1b] czy moze znacie szybsze rozwiazanie? pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat i tego zapytania raczej countem nie zastapie
Owszem zastąpisz i będzie to napewno wydajniejsze. [php:1:a8865f852f]<?php $pyt=mysql_query("SELECT count(*) as n FROM kategorie k, kategorie_tresc t WHERE k.id_kategorii=t.id_kategorii and id_jezyka=$valid_user[2] and id_rodzica='$id_rodz'"); $wyn = mysql_fetch_array($pyt); if ($wyn['n'] >0) { ......... } ?>[/php:1:a8865f852f] Cytat a ilosc wynikow i tak przesyla baza w mysql_num_rows()
Błąd. To nie baza przesyła Ci ilość zwróconych wierszy tylko liczy je funkcja z biblioteki klienckiej. Wymaga to odebrania wszystkich wierszy wyniku zapytania. Natomiast w przypadku funkcji count() otrzymujesz jeden wiersz per grupa (lub w ogóle jeden jeśli nie używasz grupowania), pomijajać fakt, że baza może sobie wyoptymalizować zapytanie gdy wie, że oczekujesz od niej tylko ilości wierszy a nie samych danych. Cytat i moje pytanie jest takie, czy jest jakis lepszy (szybszy) sposob na sprawdzenie czy takie zapytanie dalo jakies odpowiedzi.
Właśnie taki -- count() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 21:42 |