2016-07-28 8 views
0

Ich habe eine Tabelle, wo eine Spalte sortiert ist. Prüft MySQL irgendwie, ob es sortiert ist oder nicht? Wenn ich eine solche Abfrage SELECT from tab WHERE col1>890 AND col1<74893798 mache, wo der col1 sortiert ist, ist es das gleiche wie z.B. SELECT from tab WHERE id>16 AND id<798176 Ich konnte dies nicht richtig testen, da die Administratorrechte fehlten, um den Abfragecache zu leeren. Um es klar zu machen, ist das col1 sortiert, weil es dort aus einer anderen Tabelle eingefügt wurde, die nach der Spalte sortiert wurde.MySQL SELECT auf sortierte Daten

+0

mysql hat keine Bestellung – Jens

Antwort

1

Nein, es ist nicht nach der Spalte sortiert, die Sie für Ihre WHERE-Klausel verwenden. Die id Datensätze sortiert, da dies wahrscheinlich Ihr Primärschlüssel ist und bereits die Position der Daten in Ihrer Tabelle diktiert. Sie müssen ORDER BY column hinzufügen, wenn Sie Ihre Daten sortiert haben möchten

1

MySQL sortiert standardmäßig keine Ergebnisse (What drive the natural result order for an unordered MySQL request). Im Allgemeinen garantieren Relational DataBase Management-Systeme (RDBMS) keine bestimmte Zeilenreihenfolge, es sei denn, Sie geben einen Auftrag mit einer ORDER BY-Klausel an.

Der Vorteil davon ist, dass die Datenbank Daten intern in dem Format sortieren kann, das sie für am optimalsten hält.