聚集索引和非聚集索引

2012/07/28 21:49
阅读数 230

聚集索引的顺序就是数据的物理存储顺序,而对非聚集索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚集索引。

聚集索引的特点:
1)聚集索引对于那些经常要搜索范围值得列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理上相邻;
2)对表中数据进行排序时,通常是按照某个字段来排序,可以在该字段上创建聚集索引,避免每次查询该列时都进行排序,节约成本。
3)先创建聚集索引,再创建非聚集索引。这样在创建聚集索引后就无需重新生成非聚集索引了。
4)聚集索引不适合用于频繁更改的列,因为这将导致整行移动。

非聚集索引的特点:
1)不适合返回大型结果集的查询
2)适合返回精确匹配的查询的搜索条件(where子句)中经常使用的列。

Syabse:创建主键时,缺省是聚集唯一索引:
create table t(c1 int not null, c2 int, primary key(c1))
如果需要主键为非聚集索引:create table t(c1 int not null, c2 int, primary key noclustered (c1))

DB2:创建主键时,缺省是非聚集唯一索引:
如果主键列需要聚集索引:删除主键,在主键列上添加聚集唯一索引。

Oracle:没有聚集索引,但类似于IOT。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部