von Markus Winand.

Die Oracle Datenbank kann NULL nicht indizieren


Die Quelle dieses Irrglaubens ist sehr einfach zu verstehen, wenn man sich die richtig formulierte Aussage ansieht:

Die Oracle Datenbank nimmt Zeilen, bei denen alle indizierten Spalten NULL sind, nicht in den Index auf.

Der Unterschied zwischen Mythos und Wahrheit ist recht klein. Der Mythos ist vermutlich nur eine schlampige Form der Wahrheit.

In Wirklichkeit kann man NULL sogar sehr einfach Indizieren, indem man einfach eine Spalte in den Index aufnimmt, die niemals NULL sein kann:

CREATE INDEX with_null ON table_name (nullable_column, '1');
, „NULL Indizieren erklärt das genauer.

Über den Autor

Foto von Markus Winand

Markus Winand lehrt effizientes SQL – inhouse und online. Er minimiert die Entwicklungszeit durch modernes SQL und optimiert die Laufzeit durch schlaue Indizierung – dazu hat er auch das Buch SQL Performance Explained veröffentlicht.

Sein Buch

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten.

Von Markus kaufen
(Taschenbuch und PDF)

Bei Amazon kaufen
(nur Taschenbuch)

Hol dir Markus

…für ein Training in dein Büro.

Das beliebte SQL-Performance Training für Entwickler lässt dich die Datenbank besser verstehen. Erfahre mehr»

„Use The Index, Luke!“ von Markus Winand ist unter einer Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License lizenziert.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz | CC-BY-NC-ND 3.0 Lizenz