Я провел очень простой запрос к одной из нашей таблицы, и я заметил, что процессор запросов план выполнения рекомендаций, которые мы создаем индекс по столбцуПочему Sql Server рекомендует создавать индекс, когда он уже существует?
Этот запрос
SELECT SUM(DATALENGTH(Data))
FROM Item
WHERE Namespace = 'http://some_url/some_namespace/'
После запуска, я получить следующее сообщение
// The Query Processor estimates that implementing the following index could improve the query cost by 96.7211%.
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]
ON [dbo].[Item] ([Namespace])
Моя проблема заключается в том, что у меня уже есть такой индекс по этому столбцу:
CREATE NONCLUSTERED INDEX [IX_ItemNamespace] ON [dbo].[Item]
(
[Namespace] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
Почему Sql Server рекомендует мне создать такой индекс, если он уже существует?
Ничего, я не буду этого делать в столбце данных, но это дает мне представление о некоторых других местах, где это может быть полезно. –