我在桌面上有这两个索引,我想知道它们是否可以互换? 问题在于,当我查看使用情况统计信息时,我发现两者都在使用。
如果删除IX_clicks_token
会怎样?会改为使用uc_token
吗?
CREATE NONCLUSTERED INDEX [IX_clicks_token] ON [dbo].[clicks]
(
[token] ASC
)
ALTER TABLE [dbo].[clicks] ADD CONSTRAINT [uc_token] UNIQUE NONCLUSTERED
(
[token] ASC
)
OBJECT NAME | IX_clicks_token --- uc_token
user_seeks | 0 --- 12
user_scans | 10500 --- 298
user_lookups | 0 --- 0
user_updates | 582272 --- 582272
last_user_seek | NULL --- 2013-03-24
last_user_scan | 2013-03-25 --- 2013-03-20
答案 0 :(得分:3)
IX_clicks_token
和uc_token
具有几乎相同的定义,唯一不同的是uc_token
强制执行唯一性以及提供非聚集索引。
如果删除IX_clicks_token
,则应该使用uc_token
,假设没有一些奇怪的边缘情况,其余的索引是超级碎片。
答案 1 :(得分:1)
两者都是等价的。可能由于随机优化器的选择,在相同的替代方案中,它们都被使用了。
删除其中一个。真的不重要,哪个。情况可能是你不能放弃另一个但放弃另一个 - 在这种情况下你可以选择。