Dlaczego unikać funkcji mysql_num_rows()?

Funkcja mysql_num_rows() przesyła do bazy danych zapytanie i pobiera wszystkie zwracane wiersze. Wynik który nas interesuje to ilość wierszy a nie ich zawartość zatem o wiele szybszym zapytaniem jest przesłanie zapytania COUNT(*) w samym zapytaniu SELECT, które zwróci nam jedno pole i jeden rekord a zliczanie odbdzie sie po stronie serwera mysql.

Jeśli nie jest wymagane wyświetlanie wszystkich rekordów z bazy na bieżaco można każdy wyciągniety wiersz przypisać do nowej zmiennej np $bufor_mysql i zliczać ilość wykonanych pętli inkrementując zmienną $i ($i++ lub ++$i)
Kosztem utworzenia 2 zmiennych w skrypcie zaoszczędzamy dodatkowe odwołanie do bazy mysql – dla małych serwisów nie ma to większego znaczenia ale dla tych dużych do zdecydowanie zaoszczędzenie zasobów.

źródło: w co inwestować, najlepsze inwestycje, okład z rycyny kurzajki, http://tuningexpert.fr/Articles/toyota

Powiązane wpisy:

Powiązane słowa kluczowe:

  • mysql_num_rows

Comments are closed.