Stavo leggendo questo use-the-index-luke.com che spiega in dettaglio come funzionano gli indici. Una delle cose che questa persona ha ribadito che l'ordine degli indici è molto importante e per velocizzare la query le colonne della clausola where dovrebbero essere uguali a quelle dell'indice. Oggi, stavo solo confermando questa teoria e ho creato una tabella (id int, nome nvarchar (100)) su SQL Server 2008. Ho inserito circa 5000 righe in esso e creato un indice
create index abc on test (name, id )
e ha lanciato la query
select ID, name
from test
where ID = 10
and name = '10'
Mi aspettavo che una scansione della tabella completa fosse seguita da una selezione nel piano di query, ma con mia sorpresa l'output del piano era una scansione di indice seguita da select.
Quindi, la mia domanda è: l'ordine delle colonne nella clausola Where è importante o SQL Server le riorganizza secondo la definizione dell'indice?
Grazie !!