Halihallo Harald
Ist es für die Geschwindigkeit erheblich, ob ein Index schon besteht oder wird der beim INSERT sowieso erst erstellt?
Wenn du einen neuen Datensatz in eine Tabelle mit Indizies einfügst,
werden die Indizies auch erweitert (erstellt werden sie ja beim
CREATE TABLE). Mit anderen Worten: Du kannst in eine Tabelle ohne
Indizies schneller einfügen, als wenn sie einen Index hat. Dafür ist
die Tabelle ohne Indizies bei vielen Abfragen sehr viel langsamer
wenn es um das Selektieren von Daten geht...
Wenn du mich frägst, ob du den Index vor oder nach dem Einfügen der
Datensätze erstellen sollst:
Nun, das Einfügen mit Index dauert länger, als wenn der Index später
über den ganzen Datenbestand gebildet wird. Zudem könnte ich mir gut
vorstellen, dass ein nachträglich hinzufügter Index ausgeglichener
ist und somit noch etwas Performance beim selektieren der Datensätze
gewonnen werden kann, aber dies würde ich als "nicht bemerkbar, da
fast kein Unterschied" einstufen.
Fazit:
a) Erstelle den Index erst nachdem alle Daten in die Tabelle
eingefügt werden, falls dies ohne grössere Umstände möglich
ist.
b) Ein Index macht SELECT schneller, INSERT aber langsamer.
Viele Grüsse
Philipp