Mailinglisten-Archive |
Hi Christian, > ich hab gestern was umgestellt, eine Zählung zur Anzeige aller > Suchergebnisse von mysql_num_rows() auf count(*) im Query....nur leider wird > dadurch jede Menge Performance verbraten und Querys (Suchanfragen) dauern > länger, weil MySQL dabei keine Indexe mehr nutzt...ist das normal?? > Anscheinend schon lt. Manual... Wo steht das? Ich habe folgendes gefunden. | COUNT(*) ist darauf optimiert, sehr schnell Ergebnisse zu liefern, wenn | SELECT aus einer Tabelle abfragt, wenn keine andere Spalte abgerufen wird | und wenn es keine WHERE-Klausel > Sollte ich lieber mysql_num_rows() nehmen??? Ich weiß ja nicht wie groß deine Datenbestände sind, aber wenn du die PHP-Funktion mysql_num_rows() verwenden willst um die Gesamtzahl der Suchergebnisse zu ermitteln, heißt das, daß du das Gesamte Suchergebnisse in den für dein PHP-Script zu Verfügung stehenden Arbeitsspeicher laden mußt. Das kann unter Umständen tödlich für selbiges sein. Ich würde an deiner Stelle mal versuchen ob ein count(ID) bessere Ergebnisse bringt. Wobei ID für ein Feld steht das einen Index hat. Gruß Christian --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive