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