如何设计聚集索引和非聚集索引 in SQL Server 2000

来源:互联网 发布:设计模式之禅是java 编辑:程序博客网 时间:2024/06/18 02:51

1.聚簇索引(Cluster Index)

  • 又称 聚集索引,聚簇索引中索引存储的值的顺序和表中的数据的物理存储顺序是完全一致的.
  • 聚簇索引的特点
    • 表的数据按照索引的数据顺序排列
    • 每个数据表只能建立一个聚簇索引,并且在第一个建立,往往会在主码所在的列或者最常查询的列上建立局促索引
    • 索引将占用用户数据库的空间
    • 适合范围查询

2.非聚簇索引(Non-Cluster Index)

  • 非聚簇索引存储的数据顺序一般和表的物理数据的存储不同.尽管查询速度慢一些,但维护的代价小.而且表中最多可以建立249个给聚簇索引以满足多种查询的要求.

3.惟一索引(Unique Index)

  • 惟一索引是指索引存储的值必须是惟一的,不允许两行具有相同的索引值(包括NULL).主码索引是当然的惟一索引.

4.复合索引(Compound Index)

  • 复合索引是指利用表中的多个列值的组合来构建索引值.SQL Server 2000 规定复合索引最多使用16个列的值进行组合,索引列值最大长度不能朝过900字节,而且这些列必须在同一数据表中.

5.如何设计聚集索引和非聚集索引

 

是否考虑创建聚集索引

是否考虑创建非聚集索引

经常分组的排序的列 

 O

 O

 范围查询的数据列

 O

 X

 不同值很少的列

 X

 X

 小数目的不同值列

 O

 X

 大数目的不同值列

 X

 O

 频繁被更新的列

 X

 O

 外键列

 O

 O

 主键列

 O

 O

 频繁被修改的索引列

 X

 O

原创粉丝点击