Я читал этот use-the-index-luke.com, который подробно объясняет, как работают индексы. Одна из вещей, которые этот человек повторил, это то, что порядок индексов имеет большое значение, и чтобы сделать запрос быстрым, столбцы предложения where должны быть такими же, как в индексе. Сегодня я только что подтвердил эту теорию и создал таблицу (id int, name nvarchar (100)) в SQL Server 2008. Я вставил в нее около 5000 строк и создал индекс
create index abc on test (name, id )
и запустил запрос
select ID, name
from test
where ID = 10
and name = '10'
Я ожидал, что после полного сканирования таблицы последует выбор в плане запроса, но, к моему удивлению, результатом плана стало сканирование индекса с последующим выбором.
Итак, мой вопрос: порядок столбцов в предложении Where имеет значение или SQL Server реорганизует их в соответствии с определением индекса?
Спасибо !!