聚集索引与非聚集索引

1.聚集索引:

        聚集索引是按照每张表的主键构造一棵B+树,同时叶子结点中存放的即为整张表的行记录数据,也将聚集索引的叶子节点成为数据页。

        聚集索引的这个特性决定了索引组织表中的数据也是索引的一部分。同B+树数据结构一样,每个数据页通过一个双向链表来进行链接。由于实际数据页只能按照一颗B+树进行排序,因此每个表只有一个聚集索引。在多数情况下,查询优化器倾向于采用聚集索引,聚集索引可以直接在叶子节点上找到数据。由于数据的逻辑顺序,能够特别快地访问针对范围值的查询。

聚集索引与非聚集索引

2.非聚集索引

        辅助索引(也成为了非聚集索引),叶子节点并不包含行记录的全部数据。叶子节点包含键值以外,还包含一个书签。该书签用来告诉InnoDB存储引擎哪里可以找到与索引相对应的行数据。

        由于InnDB存储引擎表示索引组织表,因此辅助索引的书签就是相对应的行数据的聚集索引键。每张表上可以有多个辅助索引。

聚集索引与非聚集索引

转载于:https://my.oschina.net/u/4045381/blog/3097336