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.
Antworten
Zu viele Anzeigen?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.