图解MySQL索引:B-树、B+树,终于搞清楚了( 二 )
本文插图
本文插图
三、问题
问:为什么索引结构默认使用B-Tree , 而不是hash , 二叉树 , 红黑树?
hash:虽然可以快速定位 , 但是没有顺序 , IO复杂度高 。 二叉树:树的高度不均匀 , 不能自平衡 , 查找效率跟数据有关(树的高度) , 并且IO代价高 。
红黑树:树的高度随着数据量增加而增加 , IO代价高 。
问:为什么官方建议使用自增长主键作为索引 。
结合B+Tree的特点 , 自增主键是连续的 , 在插入过程中尽量减少页分裂 , 即使要进行页分裂 , 也只会分裂很少一部分 。 并且能减少数据的移动 , 每次插入都是插入到最后 。
总之就是减少分裂和移动的频率 。
插入连续的数据:
本文插图
插入非连续的数据
本文插图
来源:www.cnblogs.com/liqiangchn/p/9060521.html
推荐阅读
- 光明网|【加油!高考生】系列图解之考生心态篇
- 光明网教育|【加油!高考生】系列图解之家长同行篇
- 光明网教育|【加油!高考生】系列图解之分科复习篇
- 界面新闻|【图解】深成指创四年来新高,10.1亿资金打板中国中免
- cnBeta 10 内置照片应用正在测试新的索引选项,Windows
- 人民网|图解:高考防疫,专家来支招
- 走路,关于正确的走姿图解的介绍
- 【】图解丨发生洪涝灾害时如何自救?这些防汛知识请收好!
- 光明网|图解丨发生洪涝灾害时如何自救?这些防汛知识请收好!
- 图解丨发生洪涝灾害时如何自救?这些防汛知识请收好!
