理解mysql添加索引查询速度就变快了
参考:https://mp.weixin.qq.com/s/Vx4BBUZuOxlHNP3z5KPGs
https://blog.csdn.net/samll_snail/article/details/89445749
偶然看了订阅号这篇文章,简单整理下
-
给一个表添加索引,默认id是主键索引,k字段是添加索引的字段,然后如果不用到k字段查找会很慢,用到k就会很快,这就是添加索引的优点,但是添加索引也有缺点就是更新删除变得缓慢,可以采用读写分离的方式解决。⚒参考图吧如下
-
下面切入正题为什么添加索引会快,一般的我们添加索引选择的是B+树的形式,如下图
最原始的算法,一般如果我们找一个数用二分法,每个节点只会存1个二分,会照着如下图寻找
这个需要io三次。 -
然后升级成B树,每个可以分成多个,但是如果k值大的化,要分多级,多级就会变成个瘦杆子,增加了io次数
-
再然后升级成B+树,每个节点只存key,然后就变成个横向扩展的胖子,io次数变少,叶子上存的是key,key对应到具体