聚集索引表记录的排列顺序与索引的排列顺序一致,优点是查询速度快,因为一旦具有第一个索引值的纪录被找到,具有连续索引值的记录也一定物理的紧跟其后。聚集索引的缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。
例子如下:
USE tempdb
GO
-- 建立演示表
CREATE TABLE tb(
id int)
-- 插入三条记录
INSERT tb SELECT 1
INSERT tb SELECT 2
INSERT tb SELECT 3
-- 删除插入记录中,最前面的两条
DELETE tb WHERE id < 3
-- 再次插入两条记录
INSERT tb SELECT 2
INSERT tb SELECT 1
-- 显示结果
SELECT * FROM tb
GO
-- 加上聚集索引
CREATE CLUSTERED INDEX IDX_tb_id
ON tb(
id)
-- 显示结果
SELECT * FROM tb
由上面的例子可以清晰的看到,在使用了聚集索引后,插入是进行了数据重排,保证了排列顺序和索引顺序相同。