为什么我的新增索引显示为“统计”?

我们正试图调整我们的SQL Server 2005数据库,因为我们坦率地没有对我们的表进行索引,我们的CPU使用率已经开始最大化为100%。

我们已经运行了SQL Server分析器3个小时的时间,涵盖了我们在Web前端获得最多使用的时间。

在我们将这些资料提交给数据库引擎优化顾问之后,对索引和统计提出了一些build议。 这是其中一个例子:

CREATE NONCLUSTERED INDEX [_dta_index_ChangeLog_9_245575913__K5_K2_K3_K4] ON [dbo].[ChangeLog] ( [ChangePrimaryKey] ASC, [TableID] ASC, [ChangeDate] ASC, [ChangeType] ASC )WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY] GO 

..但失败,因为已经有一个“名称索引或统计”_dta_index_ChangeLog_9_245575913__K5_K2_K3_K4“,我可以看到SQL Serverpipe理工作室在该表的统计部分下。 我在索引下唯一的东西是主键上的聚集索引。

为什么它被添加为一个统计而不是一个索引?

统计是一种由SQL Server根据数据库使用情况自动创build的非聚集索引,它们共享相同的名称空间(可以在sys.indexes看到一些索引元数据)。

只要尝试创build一个更有意义的名称,如IDX_ChangeLog的索引,它应该工作正常。