2
我跑了一個很基本的查詢對我們的表之一,我注意到,執行計劃查詢處理器建議我們在列上創建索引爲什麼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建議我在創建這樣的索引時已經存在?
不錯,我不會在數據列上這樣做,但是這給了我一些其他可能有用的地方的想法。 – 2010-03-15 22:11:21