Wozu werden Tabellenspalten indexiert?
Dennis
- datenbank
hallo,
ich wollt mal wissen warum spalten indexiert werden?
kann es sein das man index brauch wenn man eine spalte für eine suche verwendet, oder haben index noch andere funktionen.
wäre sehr dankbar wenn mir jemand das mal sagen könnte.
Moin!
ich wollt mal wissen warum spalten indexiert werden?
kann es sein das man index brauch wenn man eine spalte für eine suche verwendet, oder haben index noch andere funktionen.
Nein, Indices sind genau dafür da, eine Spalte schneller finden zu können. Wenn du also sehr häufig eine bestimmte Spalte in deinem "WHERE..." verwendest, dann solltest du darauf einen Index legen.
Der Nachteil eines Index' ist, dass dessen Verwaltung Aufwand bedeutet. Das kommt insbesondere dann zum Tragen, wenn neue Einträge in die DB gemacht werden und die Indices aufwendig zu pflegen sind. Es ist bei großen Datenmengen dann meist günstiger, den Index zuerst abzuschalten bzw. zu löschen und hinterher neu anlegen zu lassen - das geht schneller.
Ob und wie ein Index verwendet wird, sagt dir der SQL-Befehl EXPLAIN.
- Sven Rautenberg
Der Nachteil eines Index' ist, dass dessen Verwaltung Aufwand bedeutet. Das kommt insbesondere dann zum Tragen, wenn neue Einträge in die DB gemacht werden und die Indices aufwendig zu pflegen sind. Es ist bei großen Datenmengen dann meist günstiger, den Index zuerst abzuschalten bzw. zu löschen und hinterher neu anlegen zu lassen - das geht schneller.
aha und was ist wenn jeden tag 100-200 neue sachen in die spalte hinzukommen.
Moin!
aha und was ist wenn jeden tag 100-200 neue sachen in die spalte hinzukommen.
Unbedeutend, würde ich schätzen, sofern der Performancegewinn beim Lesen durch einen Index gravierend ist.
Das Ausschalten des Index ist auch eher dann angesagt, wenn eine Tabelle komplett mit _vielen_ Daten auf einmal gefüllt werden soll.
- Sven Rautenberg