1. 程式人生 > >聚簇索引與非聚簇索引的區別

聚簇索引與非聚簇索引的區別

聚簇索引:對磁碟上的資料重新組織,以按照指定的一列或者多列排序。 聚簇索引確定表中資料的物理排序。

候選列:主鍵列,該列在where子句中使用並且插入是隨機的。

按範圍取值的列,如 id>100 and id<120

在group by 、 order by中使用的列

不經常修改的列

在連線操作中使用的列

非聚簇索引:索引順序與資料物理排列順序無關。

用在以下情況:1. 某列常用於集合函式(如sum)

     2.某列常用於 join、group by、order by

     3.查詢出的資料不超過總資料的20%

聚簇索引和非聚簇索引的區別:

1.聚簇索引的頁結點就是資料塊,非聚簇索引的頁結點任然是索引檢點,保留一個指向資料塊的連線。

2.聚簇索引主鍵的插入速度要比非聚簇索引主鍵的插入速度慢很多。

3.相比之下,聚簇索引適合排序。因為資料已經按照物理順序排好序。

4.查詢一定範圍內的資料時用聚簇索引比較好。