Ich habe diese use-the-index-luke.com gelesen, die ausführlich erklärt, wie Indizes funktionieren. Eines der Dinge, die diese Person wiederholt hat, ist, dass die Reihenfolge der Indizes sehr wichtig ist. Um die Abfrage schnell zu machen, sollten die Spalten der where-Klausel mit denen im Index identisch sein. Heute habe ich diese Theorie nur bestätigt und eine Tabelle (id int, name nvarchar (100)) unter SQL Server 2008 erstellt. Ich habe etwa 5000 Zeilen eingefügt und einen Index erstellt
create index abc on test (name, id )
und feuerte die Abfrage
select ID, name
from test
where ID = 10
and name = '10'
Ich hatte erwartet, dass auf einen vollständigen Tabellenscan eine Auswahl im Abfrageplan folgt, aber zu meiner Überraschung war die Ausgabe des Plans ein Index-Scan, gefolgt von Auswahl.
Meine Frage ist also, ob die Reihenfolge der Spalten in der Where-Klausel von Bedeutung ist oder ob SQL Server sie gemäß der Indexdefinition neu anordnet.
Vielen Dank !!