【问题标题】:Same column with multiple index names. It is possible. What is the use?具有多个索引名称的同一列。有可能的。有什么用?
【发布时间】:2012-02-09 05:28:13
【问题描述】:

对我来说,没有必要/有意为同一列创建多个索引名称。当我研究索引时,我尝试了以下测试。一样有什么用?有什么特点吗?

我试过的是:

在 TestIndex(EmployeeMumber) 上创建索引 id 在 TestIndex(EmployeeMumber) 上创建索引 id1 在 TestIndex(EmployeeMumber) 上创建索引 id2

结果是:命令成功完成。

谢谢

【问题讨论】:

  • 同一列不需要不同的索引名称。一个就够了。它只是使数据存储更多,并且一旦表中的数据更新,数据库引擎需要更新所有索引。这意味着,服务器资源的浪费。

标签: sql-server-2005 indexing


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 2017-09-08
    • 1970-01-01
    • 2015-02-10
    • 2016-03-01
    • 2015-01-29
    相关资源
    最近更新 更多