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');
Vorherige SeiteNächste Seite

Du kannst nicht alles an einem Tag lernen. Abonniere den Newsletter via E-Mail, Twitter oder RSS um sukzessive aufzuholen. Und sieh dir auch modern-sql.com an.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

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

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Mit Markus Winand verbinden

Markus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf Twitter
„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 und DSGVO | CC-BY-NC-ND 3.0 Lizenz