2012-02-09 45 views
0

对于我来说,没有必要/打算为同一列创建多个索引名称。当我正在研究索引时,我尝试了下面的测试。同样的用途是什么?有没有什么特点?与多个索引名称相同的列。有可能的。有什么用?

我曾尝试是:

 
create index id on TestIndex(EmployeeMumber) 
create index id1 on TestIndex(EmployeeMumber) 
create index id2 on TestIndex(EmployeeMumber) 

结果是:命令已成功完成。

感谢

+0

相同列的不同索引名称不是必需的。只有一个就够了。它只是增加数据存储量,一旦数据在表中更新,数据库引擎需要更新所有索引。这意味着,浪费服务器资源。 – 2012-02-09 05:36:40

回答

0

SQL Server不会阻止您创建重复的索引(虽然there has been an unsuccessful push to change this)。 “不会修复”可能主要是出于向后兼容性的原因 - 在以前的版本中可能会出现用例,在删除旧版本之前,人们会创建一个新索引,当DROP_EXISTING或线上重建等选项不存在时返回。随着引擎中新功能的不断发展,例如INCLUDE列,过滤索引等,确定两个索引实际上是否重复也更为复杂。

相关问题