У меня есть следующие кластерные индексы для таблицы serviceregistration
.Как оптимизатор запросов SQL Server выбирает некластеризованные индексы из доступных индексов для конкретной таблицы?
Index Name ---------------+ Column Name ----------------- + Index Type
IX_SERVICEREGISTRATION_I | SERREGNO | NONCLUSTERED
IX_SERVICEREGISTRATION_II | SERREGNO, SERCUSTID | NONCLUSTERED
IX_SERVICEREGISTRATION_III| PLACEID, JOBID, SERREGNO | NONCLUSTERED
Запрос 1:
Select CustomerName, Place
From dbo.ServiceRegistration
Where SERREGNO = 'JAN1234' And PLACEID = 1
Запрос 2:
Select CustomerName, Place
From dbo.ServiceRegistration
Where SERREGNO = 'JAN1234' And SERCUSTID = 'A123'
Запрос 3:
Select CustomerName, Place
From dbo.ServiceRegistration
Where JOBID = 5 And PLACEID = 1 And SERREGNO = 'JAN1234'
Являются ли указанные выше созданные индексы полезными для этих запросов или нет?
Можете ли вы изучить Оценочный план выполнения (Ctrl + L в SSMS)? Имеют ли эти индексы какие-либо ВКЛЮЧЕННЫЕ столбцы? –
@StevenHibble. Для этих индексов нет INCLUDE-столбцов. – RGS