Bisher haben wir uns nur damit beschäftigt, Abfragen zu beschleunigen. Mit SQL kann man aber nicht nur Abfragen formulieren, sondern auch Daten „manipulieren“. Die entsprechenden Kommandos – insert
, delete
und update
– bilden den SQL-Teilbereich „data manipulation language“ (DML). Ein Teilbereich, der vor allem die Nachteile der Indizierung spürt.
Ein Index ist pure Redundanz. Er enthält nur Daten, die in der Tabelle ebenfalls gespeichert sind. Im Rahmen von Schreiboperationen muss die Datenbank diese Redundanzen konsistent halten. Konkret heißt das, dass insert
, delete
und update
sich nicht nur auf die Tabelle auswirken, sondern auch auf alle Indizes, die eine Kopie der betroffenen Daten enthalten.