Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erfordert LIMIT OFFSET,LENGTH ORDER BY für die Paginierung?

Wie so ziemlich jede andere SQL-Engine da draußen geben MySQL MyISAM-Tabellen überhaupt keine Garantien für die Reihenfolge, in der Zeilen zurückgegeben werden, es sei denn, Sie geben eine ORDER BY-Klausel an. Typischerweise ist die Reihenfolge, in der sie zurückgegeben werden, die Reihenfolge, in der sie aus dem Dateisystem gelesen wurden, die sich je nach Aktualisierungen, Löschungen und sogar dem Status zwischengespeicherter Auswahlen von Abfrage zu Abfrage ändern kann.

Wenn Sie vermeiden möchten, dass dieselbe Zeile mehr als einmal zurückgegeben wird, müssen Sie nach etwas sortieren, wobei der Primärschlüssel der offensichtlichste Kandidat ist.