Sequenzen und Spalten: Neue Sequenzen und Spalten verwenden standardmäßig NOORDER (Ausstehend)¶
Achtung
Diese Verhaltensänderung ist in Bundle 2024_01 enthalten.
Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.
Wenn Sie eine neue Sequenz erstellen oder eine neue automatisch inkrementierte Spalte, können Sie den Parameter ORDER oder NOORDER angeben, um anzugeben, ob die Sequenz neue Werte in aufsteigender Reihenfolge erzeugen kann oder nicht.
ORDER gibt an, dass die Werte, die für eine Sequenz oder eine automatisch inkrementierte Spalte generiert werden, in aufsteigender Reihenfolge sind (oder, wenn das Intervall einen negativen Wert hat, in abnehmender Reihenfolge).
Wenn beispielsweise eine Sequenz oder eine automatisch inkrementierte Spalte die Werte START 1 INCREMENT 2 hat, könnten die generierten Werte
1
,3
,5
,7
,9
usw. sein.NOORDER gibt an, dass nicht garantiert ist, dass die Werte in aufsteigender Reihenfolge sind.
Wenn beispielsweise eine Sequenz die Werte START 1 INCREMENT 2 hat, könnten die generierten Werte
1
,3
,101
,5
,103
usw. sein.NOORDER kann die Leistung verbessern, wenn mehrere Einfügeoperationen gleichzeitig ausgeführt werden müssen (z. B. wenn mehrere Clients mehrere INSERT-Anweisungen ausführen).
Wenn Sie weder ORDER noch NOORDER angeben, wird ein Standardwert verwendet. Dieser Standardwert wird geändert, um die Performance zu verbessern:
- Vor der Änderung:
Wenn Sie eine neue Sequenz ohne Angabe von ORDER oder NOORDER erstellen, wird standardmäßig ORDER verwendet.
Wenn Sie eine neue Tabellenspalte erstellen und AUTOINCREMENT angeben, ohne ORDER oder NOORDER zu spezifizieren, wird standardmäßig ORDER verwendet.
- Nach der Änderung:
Wenn Sie eine neue Sequenz ohne Angabe von ORDER oder NOORDER erstellen, wird standardmäßig NOORDER verwendet.
Wenn Sie eine neue Tabellenspalte erstellen und AUTOINCREMENT angeben, ohne ORDER oder NOORDER zu spezifizieren, wird standardmäßig NOORDER verwendet.
Beachten Sie Folgendes:
Die Änderungen an diesen Standardwerten haben keine Auswirkungen auf bestehende Sequenzen und bestehende automatisch inkrementierte Spalten.
Die Änderungen betreffen nur neue Sequenzen und Spalten, die erstellt werden, wenn die Verhaltensänderung aktiviert ist.
Die Eigenschaften ORDER und NOORDER haben keine Auswirkung auf die Eindeutigkeit der generierten Werte für Sequenzen und automatisch inkrementierte Spalten.
Ändern der Standardeinstellung von NOORDER in ORDER¶
Um die Standardeinstellung auf ORDER zurückzusetzen, setzen Sie den Parameter NOORDER_SEQUENCE_AS_DEFAULT für das Konto, den Benutzer oder die Sitzung auf FALSE.
Wenn Sie diesen Parameter festlegen, überschreibt dieser Wert den Wert im Verhaltensänderungs-Bundle 2024_01. Wenn dieser Parameter auf FALSE gesetzt wird, bleibt ORDER als Standardeinstellung erhalten, auch wenn das Verhaltensänderungs-Bundle 2024_01 allgemein verfügbar ist.
Änderungen an der Ausgabe der Funktion GET_DDL¶
Außerdem ändert sich die Ausgabe der Funktion GET_DDL für automatisch inkrementierte Spalten, bei denen START 1 INCREMENT 1 festgelegt ist:
- Vor der Änderung:
Die von GET_DDL zurückgegebene Spaltendefinition enthält nur das Schlüsselwort AUTOINCREMENT (z. B.
column name data type AUTOINCREMENT
).- Nach der Änderung:
Die von GET_DDL zurückgegebene Spaltendefinition enthält alle Eigenschaften, darunter die START-Eigenschaft, die INCREMENT-Eigenschaft und die ORDER/NOORDER-Eigenschaft (z. B.
column name data type AUTOINCREMENT START 1 INCREMENT 1 NOORDER
).
Festlegen, ob eine Sequenz oder Spalte die Eigenschaft ORDER oder NOORDER hat¶
Um schließlich festzustellen, ob eine Sequenz die Eigenschaft ORDER oder NOORDER hat, können Sie die folgenden Befehle und Ansichten verwenden:
Bei Sequenzen können Sie eine der folgenden Möglichkeiten verwenden:
Bei automatisch inkrementierte Spalten können Sie eine der folgenden Möglichkeiten verwenden:
Überprüfen der Spalte
autoincrement
in der Ausgabe des Befehls SHOW COLUMNS.Überprüfen der Spalte
identity_ordered
in der INFORMATION_SCHEMA-Ansicht COLUMNS.
Bei Sequenzen und automatisch inkrementierten Spalten können Sie in der von der Funktion GET_DDL zurückgegebenen Sequenz- oder Spaltendefinition nach der Eigenschaft ORDER oder NOORDER suchen.
Ref.: 1483