dedlfix: MYSQL LIMIT immer am Ende der Anweisung

Beitrag lesen

Tach!

LIMIT muß am Ende stehen, denn vorher werden die Daten ausgewählt, danach sortiert, und anschliessend an den Aufrufer zurückgegeben. Dabei werden im Falle dieses Statements nur 10 Sätze zurückgegeben.
Das kann heissen: Dein Select liefert 10 Mio. Datensätze, die dann sortiert werden und anschliessend werden die ersten 10 Sätze zurückgegeben (zeitaufwendig, da alle 10 Mio. Datensätze sortiert werden müssen).

Theoretisch ja, praktisch kann MySQL abkürzen, wenn es einen Index verwenden kann, denn dann werden anhand des Indexes die ersten 10 genommen, ohne dass vorher aufwendig zusammengesucht und sortiert werden muss.

Willst Du nur 10 Sätze selektieren und diese sortiert ausgeben, musst Du ein Sub-Select verwenden.

Wie soll das gehen?

dedlfix.