Hallo,
Mir stellt sich allerdings die Frage, was der Vorteil ist Indexes zu kombinieren oder jede Spalte einzeleln zu indexieren
manchmal benötigt man das ohnehin. Wenn beispielsweise einem Auftrag ein Artikel nur genau ein einziges Mal zugeordnet werden darf, weil die Menge über eine Spalte Anzahl festgelegt wird, dann benötigst Du einen eindeutigen Index über die Spaltenkombination. Das ist in Zuordnungstabellen häufig zu sehen.
Außerdem kannst Du an meinem Beispielszenario sehen, dass der kombinierte Index die Abfrage nochmals um etwa den Faktor 4 beschleunigt - das ist nicht zu vernachlässigen.
- Oder kann pro Abfrage nur ein Index verwendet werden?
nein.
Des Weiteren habe ich einen Index erstellt, welche allerdings nicht verwendet wird. Warum?
Mögliche Gründe findest Du auf der von mir bereits verlinkten Handbuchseite, wie MySQL Indexe verwendet.
Es sollen alle Artikel aus der Kategorie 10xxxx ausgeben werden.
... FROM artikel WHERE kategorie1 LIKE '10%'id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE artikelALL INDEX_KATEGORIE NULL NULL NULL 761 Using where
Ohne Kenntnis der vorhandenen Daten läßt sich das nicht so ohne weiteres sagen. Nochmals: ob ein Index sinnvoll genutzt werden kann, hängt von den vorhandenen Daten ab.
Freundliche Grüße
Vinzenz