none
聚集索引(Clustered index)和非聚集索引(NonClustered Index)设计原则 RRS feed

  • 常规讨论

  • 聚集索引(Clustered index)和非聚集索引(NonClustered Index)设计原则

    Clustered index中文名叫聚集索引,又称簇索引,NonClustered Index中文名为非聚集索引,又叫非簇索引。

     

    1、在值需要连续增加的字段中使用聚集索引,比如整数类型的汽车编号。因为在基于聚集索引的字段中,SQL Server

    在物理上把数据库文件转换成了很多行,如果我选择一些值不是连续增加的字段,在执行插入和删除步骤时它会重新调整

    很多页面,聚集索引数据在存放时,物理上是连续的。一个数据表只能有一个聚集索引。

    2、外键字段设置为非聚集索引,因为它们不需要以增量值的形式添加。非聚集索引数据在存放时,逻辑上连续,物理上非连续。

    3、聚集索引和非聚集索引都不约束数据值唯一性,如果你选中了索引的唯一性属性,则该索引要求数据唯一性约束。

     


    沙漠风暴
    2010年7月5日 9:18

全部回复

  • 个人观点,欢迎板砖
    沙漠风暴
    2010年7月5日 9:21
  • 弄清楚索引的结构和bookmark lookup的原理,就知道该怎么建索引了。
    想不想时已是想,不如不想都不想。
    2010年7月5日 15:52
    版主
  • 聚集索引(Clustered index)和非聚集索引(NonClustered Index)设计原则

    Clustered index中文名叫聚集索引,又称簇索引,NonClustered Index中文名为非聚集索引,又叫非簇索引。

     

    1、在值需要连续增加的字段中使用聚集索引,比如整数类型的汽车编号。因为在基于聚集索引的字段中,SQL Server

    在物理上把数据库文件转换成了很多行,如果我选择一些值不是连续增加的字段,在执行插入和删除步骤时它会重新调整

    很多页面,聚集索引数据在存放时,物理上是连续的。一个数据表只能有一个聚集索引。

    2、外键字段设置为非聚集索引,因为它们不需要以增量值的形式添加。非聚集索引数据在存放时,逻辑上连续,物理上非连续。

    3、聚集索引和非聚集索引都不约束数据值唯一性,如果你选中了索引的唯一性属性,则该索引要求数据唯一性约束。

     


    沙漠风暴
    Books online has all of those.
    2010年7月5日 19:44