美文网首页LinuxMySQL学习笔记Linux学习之路
聚簇索引和非聚簇索引区别

聚簇索引和非聚簇索引区别

作者: 蚂蚁窝大梦想 | 来源:发表于2018-12-09 16:05 被阅读7次

    写在前面,针对InnoDB的MySQL引擎。

    聚簇索引:

    • 表数据按顺序存储,即索引顺序和表记录物理存储顺序一致
    • 聚簇索引 叶子节点存储数据行B-Tree索引
    • 在一个表中只能有一个聚簇索引,因为真实物理存储顺序只能有一种。
    • 聚簇索引是稀疏索引,数据页上一级索引存储是页指针,非行指针。

    非聚簇索引:

    • 表数据存储顺序与索引顺序无关
    • 对于非聚簇索引,叶节点包含行主键值和主键值作为指向行的“指针”,通过二级索引查找,两次B-Tree查找 InnoBD自适应哈希索引能够减少这样重复工作。
    • 非聚簇索引是密集索引,在数据页的上一级索引页它为每一个数据行存储一条记录

    相关文章

      网友评论

        本文标题:聚簇索引和非聚簇索引区别

        本文链接:https://www.haomeiwen.com/subject/ootkhqtx.html