2 Stimmen

Wie kann man aufhören, in einer Datenbank nach X Zeilen zu suchen?

Ich habe eine Abfrage an eine Datenbank, die eine Anzahl X von Ergebnissen zurückgibt. Ich möchte maximal 10 Ergebnisse zurückgeben. Gibt es eine Möglichkeit, dies zu tun, ohne LIMIT 0,9 zu verwenden? Ich werde LIMIT verwenden, wenn ich muss, aber ich würde lieber etwas anderes verwenden, das die Suche buchstäblich stoppt, anstatt alle Zeilen anzusehen und dann nur die obersten 10 zurückzugeben.

5voto

OMG Ponies Punkte 312816

Die LIMIT-Syntax ist die zuverlässigste Methode zur Rückgabe einer bestimmten Anzahl von Zeilen. Für zehn Zeilen verwenden Sie:

LIMIT 10

Die Verwendung von LIMIT 0, 9 gibt 9 Zeilen zurück, nicht 10. Und es gibt keinen Vorteil daran, den Offset anzugeben, wenn Sie sowieso bei Null beginnen.

4voto

Marc B Punkte 347897

Wenn Sie in der Abfrage keine Sortierung vornehmen, wird "LIMIT 10" nach den ersten 10 übereinstimmenden Zeilen angehalten. Sobald Sie jedoch eine Sortierung vornehmen, müssen alle Zeilen verarbeitet, sortiert und ERST DANN die ersten 10 Zeilen zurückgegeben werden.

Denken Sie daran als den Unterschied zwischen "ok, die ersten 10 Personen in der Reihe können hereinkommen" und "ok, die 10 größten Personen in der Reihe können hereinkommen". Beim ersten öffnen Sie einfach die Tür und lassen 10 Personen herein. Beim zweiten müssen Sie die ganze Reihe durchgehen, um die 10 größten Personen zu finden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X