美文网首页数据库
三、聚簇索引和非聚簇索引

三、聚簇索引和非聚簇索引

作者: _sleeping | 来源:发表于2018-08-07 10:50 被阅读5次

    聚餐索引:数据存放在索引叶子节点下

    非聚餐索引:索引和数据不是放在一起

    myisam (使用非聚餐索引,索引和数据不是放在一起)

        1.索引和数据分别为单独的文件,数据文件在磁盘上,每行都有自己的地址

        2.主索引和次索引都指向行在磁盘的位置

        3.先从索引树找到数据的所在的位置,然后再到数据上取

    如下图所示

    innodb

    1.innodb的主索引文件上,直接存放了该行的数据,次索引指向对主键的引用

    注意:

        主键索引既存储索引值,又在叶子中存储行的数据

        如果没有主键,则会用unique key做主键

        若果没有unique则系统生成内部的rowid做主键

        像innodb中,主键的索引结构中,既存储了主键值,又存储了行数据,这种结构称为“聚簇索引”

    聚簇索引

    优势:根据主键查询条目比较少时,不用回行(数据就在主键节点下)

    劣势:如果碰到不规则数据插入,造成频繁页分裂,索引树是有规律的,当插入的主键数据不规则时,索引树需要重新排列。

    相关文章

      网友评论

        本文标题:三、聚簇索引和非聚簇索引

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