聚集索引和非聚集索引

来源:互联网 发布:vue.js onchange 编辑:程序博客网 时间:2024/06/09 22:43

概括: 

这里说的聚集索引是聚簇索引

   聚簇索引即建立在聚簇上的索引,创建聚簇索引时,需要对已有表数据重新进行排序(若表中已有数据),即删除原始的表数据后再将排序结果按物理顺序插回,故聚簇索引建立完毕后,建立聚簇索引的列中的数据已经全部按序排列。
   一个表中只能包含一个聚簇索引,但该索引可以包含多个列。
   B-树索引中,聚簇索引的叶层就是数据页。
   非聚簇索引类似书本索引,索引与数据存放在不同的物理区域,建立非聚簇索引时数据本身不进行排序。一个表中科含多个非聚簇索引。
   B-树索引中,非聚簇索引的叶层仍是索引页,其以指针指向数据页实际存储位置。


详解,列子:

非聚集索引与聚集索引具有相同的 B 树结构,它们之间的显著差别在于以下两点:

基础表的数据行不按非聚集键的顺序排序和存储。

非聚集索引的叶层是由索引页而不是由数据页组成。


总结:

聚集索引的区别
  聚集索引:物理存储按照索引排序
  非聚集索引:物理存储不按照索引排序
优势与缺点
聚集索引:插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入),查询数据比非聚集数据的速度快

0 0
原创粉丝点击