2.性质及使用方法
1)聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,索引占用硬盘
存储空间小(1%左右),但对数据新增/修改/删除的速度影响比较大(降低)。
特点:
(1) 无索引,数据无序
(2) 有索引,数据与索引同序
(3) 数据会根据索引键的顺序重新排列数据
(4) 一个表只能有一个索引
(5) 叶节点的指针指向的数据也在同一位置存储
语法:create CLUSTERED INDEX idxempID ON emp(empID)
2)非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,索引占用硬盘存储
空间大(30%~40%),对数据新增/修改/删除的影响很少。
特点:
(1) 一个表可以最多可以创建249个非聚集索引
(2) 先建聚集索引才能创建非聚集索引
(3) 非聚集索引数据与索引不同序
(4) 数据与非聚集索引在不同位置
(5) 非聚集索引在叶节点上存储,在叶节点上有一个“指针”直接指向要查询的数据区域
(6) 数据不会根据非聚集索引键的顺序重新排列数据
语法:create NONCLUSTERED INDEX idximpID ON emp(empID)
动作描述/是否应该 | 使用聚集索引 | 使用非聚集索引 |
列经常被分组排序 | 应 | 应 |
返回某范围内的数据 | 应 | 不应 |
一个或极少不同值 | 不应 | 不应 |
小数目的不同值 | 应 | 不应 |
大数目的不同值 | 不应 | 应 |
频繁更新的列 | 不应 | 应 |
外键列 | 应 | 应 |
主键列 | 应 | 应 |
频繁修改索引列 | 不应 | 不应 |
Pasted from <http://blog.csdn.net/cqf7174/archive/2009/05/08/4159398.aspx>