Hallo Ingo,
eine Frage zur Indizierung von Datenbanktabellen in MySQL:
Angenommen ich habe folgende Tabelle:
author_id, book_id, chapter_id
Der Primärschlüssel bildet sich aus allen drei Attributen. Ich habe nun Queries, die
die Kapitel Multi-Column Indexes und How MySQL Uses Indexes sollten Dir weiterhelfen.
author_id = "XXX"
Mehrspaltenindex kann genutzt werden.
author_id = "XXX" AND book_id = "XXX"
Mehrspaltenindex kann genutzt werden.
book_id = "XXX"
Mehrspaltenindex kann nicht genutzt werden.
Sollte ich da nicht einzelne Indizes auf die jeweiligen Spalten und dann für jede Permutation dann noch einen Index aufsetzen?
Soweit brauchst Du nicht zu gehen. Denke daran, dass Indizes Platz benötigen und Updates und Inserts aufwendiger werden.
Oder reicht ein einziger Index, nämlich der Primärschlüssel völlig aus, weil dieser alle anderen Indizes mit einschliesst?
Nein, dieser schließt nicht alle anderen Indizes mit ein.
Freundliche Grüße
Vinzenz