代码之家  ›  专栏  ›  技术社区  ›  GibboK

sqlserver中的复合聚集索引

  •  10
  • GibboK  · 技术社区  · 15 年前

    我有一个以IDENTITY列作为主键的表(一个经典的ID列)。

    SQL Server会自动为该主键创建聚集索引。

    我的问题是:

    • 我可以只拥有一个包含更多列的聚集索引组合吗?

    如果是,如何删除默认聚集索引并使用此属性重新创建一个新的聚集索引。

    1 回复  |  直到 12 年前
        1
  •  19
  •   marc_s    15 年前

    是的,每个表只能有一个聚集索引—数据在物理上是按该索引排列的,因此不能有多个聚集索引。

    • 尽可能小-INT和4字节是完美的
    • 稳定-永不改变,所以你不会在你所有的索引中有涟漪般的更新
    • 唯一-否则,SQL Server将不得不使用人工的4字节值“uniquify”您的条目
    • 最佳方案是:不断增加

    阅读所有关于聚集索引的内容,以及它们应该是什么样的聚集索引:

    推荐文章