2010-11-25 10 views

Antwort

1

Die SQL-Standards besagt ausdrücklich, dass Tabellen keine "natürliche" Reihenfolge haben. Daher kann die Datenbank-Engine eine Anforderung ohne ORDER BY in beliebiger Reihenfolge zurückgeben. Die Reihenfolge kann sich von einer Anfrage zu einer anderen ändern, da die meisten Suchmaschinen die Daten in der Reihenfolge zurückgeben, in der sie sie am schnellsten erhalten.

Wenn Sie also die Daten in einer bestimmten Reihenfolge ausgeben möchten, müssen Sie eine Spalte in Ihre Tabelle einfügen, deren Aufgabe es ist, die Reihenfolge zu übernehmen, in der Sie der Tabelle Datensätze hinzugefügt haben. Zwei übliche Wege, dies zu tun, sind ein Autoinkrementierungsfeld, das vom ältesten bis zum neuesten Datensatz in numerischer Reihenfolge ist, und eine TIMESTAMP-Spalte, die genau das tut, was sie sagt. Sobald Sie eine solche Spalte haben, können Sie ORDER BY ColumnName verwenden, wenn Sie nach einer geordneten Ergebnismenge suchen.

2
SELECT * 
FROM TABLE 
ORDER BY ID 

Sie müssen bedenken, dass, wenn/Betrachtung ohne ORDER BY Daten aus einer Tabelle auswählen angegebenen keine spezifische Reihenfolge nicht garuantee.

Die Art, wie Sie die Daten anzeigen (ungeordnet), kann auf einer Vielzahl von Faktoren beruhen (Datenbankmodul, Schema, Seitenspeicher, Seitenfragmentierung, Indizes, Primärschlüssel oder einfach Ausführungsplanoptimierung).

Verwandte Themen