mysql索引

xiaoxiao2021-02-27  294

mysql具体的存储结构与引擎相关,目前使用较多的是Innodb。

1.主键索引

Innodb如果没有指定主键则会默认分配一个uid作为主键。数据存储时以主键为key,生成B+Tree,其中叶子节点存储数据。因为每个Innodb表都会存在以主键为索引。

2.非主键索引

指定非主键为索引时,也会生成B+Tree,此时叶子节点为数据的key,根据key去主键的Tree进行二次查找。

3.总结:

由此引发几条原则:

1)主键不易过长,否则非主键索引会比较大。

2)主键最好单调,提高B+Tree的更新效率

4.与MyIsam对比

MyIsam的索引与innodb的非主键索引类似,只是叶子节点为数据的地址值。

转载请注明原文地址: https://www.6miu.com/read-7516.html

最新回复(0)