数据库

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

2018-08-07  本文已影响5人  _sleeping

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

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

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

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

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

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

如下图所示

innodb

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

注意:

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

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

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

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

聚簇索引

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

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

上一篇 下一篇

猜你喜欢

热点阅读