Zitat von
Chewie:
Ich bin nicht sicher, wann LIMIT ausgeführt wird. Bestenfalls wird nach dem ersten Vorkommen aufgehört zu suchen, dann ist die Variante mit LIMIT die schnellste. Schlimmestenfalls werden alle gefunden und dann erst LIMIT ausgeführt. Im
Mysql-Manual sollte aber drin stehen, in welcher Reihenfolge die einzelnen Klauseln ausgeführt werden.
Leider werden die Limits erst nach dem Selektieren
aller zutreffenden Datensaetze angewandt. Das heisst, wenn 2000 Datensaetze auf deine Bedingung zutreffen, dann werden die erstmal alle rausgeholt. Anschliessend wird alles, was du nicht brauchst, weggeworfen. Kann sein dass sich das geaendert hat/noch aendert; in mySQL4 ist es aber definitiv noch so.
Aber auch das count(*) ist nicht optimal. Du solltest count(<idfeld>) verwenden; dies spart zeit.
Greetz
alcaeus