:: DEVELOPER ZONE
In einigen Fällen handhabt MySQL die Anfrage unterschiedlich, wenn Sie
LIMIT # statt HAVING benutzen:
Wenn Sie nur einige wenige Zeilen mit LIMIT auswählen, benutzt MySQL
in einigen Fällen Indexe, wenn er ansonsten vorzugsweise einen
vollständigen Tabellenscan durchführen würde.
Wenn Sie LIMIT # mit ORDER BY benutzen, beendet MySQL das
Sortieren, sobald er die ersten # Zeilen gefunden hat, anstatt die
gesamte Tabelle zu sortieren.
Wenn Sie LIMIT # mit DISTINCT kombinieren, hört MySQL auf,
sobald er # eindeutige Zeilen gefunden hat.
In einigen Fällen kann GROUP BY aufgelöst werden, indem der
Schlüssel in der Reihenfolge gelesen wird (oder der Schlüssel sortiert
wird) und danach Zusammenfassungen berechnet werden, bis sich der
Schlüsselwert ändert. In diesem Fall berechnet LIMIT # keine
unnötigen GROUP BY's.
Sobald MySQL die ersten # Zeilen an den Client geschickt hat, wird
die Anfrage abgebrochen.
LIMIT 0 gibt immer schnell eine leere Ergebnismenge (empty set)
zurück. Das ist nützlich, um die Anfrage zu überprüfen und die Spaltentypen
der Ergebnisspalten zu erhalten.
Die Größe der temporären Tabellen benutzt LIMIT #, um zu berechnen,
wieviel Platz benötigt wird, um die Anfrage aufzulösen.
© 1995-2005 MySQL AB. All rights reserved.
