Tom: MySQL: Index richtig setzen

Beitrag lesen

Hello,

Es erscheint im ersten Moment sicherlich sinnvoll, auf jede der betroffenen Spalten einen eigenen Index zu setzen. Allerdings geht das dann auf Kosten des Zeitbedarfs für Einfüge- und Updateoperationen.

Sorry wenn ich nochmal nachfrage, aber empfiehlst du 1 Index für jede einzelne der Spalten oder 1 einzigen Index über alle 3.

"...auf jede der betroffenen Spalten einen eigenen Index zu setzen."

Also wenn überhaupt, dann auf jede Spalte einen eigenen. Alles andere muss der Query-Optimizer leisten.

INSERT wird in dem System nicht mit Priorität behandelt.
Am wichtigsten wären die 3 angegebenen SELECT...WHERE Queries und ggf. noch UPDATE...WHERE eineID=... (also Update erfolgt anhand des primary key).

Jede Änderung an einem Index setzt dessen Neuerstellung in Gang. Das ist teuer. Also sollte man Indexe nur dann verwenden, wenn sie einem für das Finden des Datensatzes wirklich helfen.

Da du aber bereits eine (erhebliche?) Einschränkung der Ergebnismenge über den Primärschlüssel vornimmst, würden Indexe über die beiden anderen Spalten nicht mehr helfen.

Du hast uns allerdings nicht gesagt, wieviele Elemente das Set (1,2,3,...,n) für eineID bekommen kann.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de