Я несколько новичок в планах выполнения. Я всегда понимал, что кластеризованные индексы значительно быстрее, потому что фактическая строка данных включена в листовой уровень дерева индексов, тогда как некластеризованный содержит только индексированное значение столбца плюс указатели на расположение остальных данных строки. поэтому некластеризованное имеет больше IO, чем кластеризованное.Почему этот кластерный индекс имеет большую стоимость, чем тот же некластеризованный сервер sql
Чтобы проверить это, я использовал 1 000 000 записей таблицы с EmployeeID
(первый столбец) в качестве первичного ключа, а затем добавил некластеризованный индекс в том же поле. Затем я использовал подсказки для сравнения результатов каждого используемого индекса.
Select EmployeeID from Employees with(index(PK_EmployeeID))
go
select EmloyeeID from Employees with(index(IX_EmployeeID))
go
Результаты показывают, что существует более IO и стоимость запроса (по отношению к партии) для кластерной чем некластерный. Может ли кто-нибудь объяснить это?