Also ich habe mich über Indizes und ihre Implementierung informiert und bin auf diese Website gestoßen, die eine kurze Erläuterung zu B-Tree-Indizes hat:
http://20bits.com/articles/interview-questions-database-indexes/
Der B-Tree-Index macht perfekt Sinn für Indizes, die nur auf einer einzelnen Spalte sind. Aber nehmen wir an, ich erstelle einen Index mit mehreren Spalten, wie funktioniert dann der B-Tree? Was ist der Wert jedes Knotens im B-Tree?
Zum Beispiel, wenn ich diese Tabelle habe:
tabelle kunde:
id number
name varchar
telefonnummer varchar
stadt varchar
und ich einen Index auf: (id, name, stadt) erstelle
und dann die folgende Abfrage ausführe:
SELECT id, name
FROM kunde
WHERE stadt = 'Meine Stadt';
wie nutzt diese Abfrage den Index mit mehreren Spalten, oder nutzt sie diesen nicht, es sei denn der Index wurde als (stadt, id, name) oder (stadt, name, id) erstellt?