mysql索引的b+树

刚刚在看书   

看到书上说 走索引的数据一般是进行 2到三次 IO

速度 0.02到0.04

 

我就懵逼了        

 

一个表几十万上百万数据也能这样吗?  

书上说的感觉有问题

 

上百度查了一番

 

书上是对的       mysql表两千万行数据(假设每行数据 大小为 1KB,页大小为默认16KB)  建立b+树也只要三层

 

资源链接  https://blog.csdn.net/weixin_31422487/article/details/113423840

 

 

 

 

还有一大堆左旋   右旋   页分裂  的操作

 

真是令人感叹  , sql写的差点问题不大,别给他整成全表扫描就行了,底层已经做了非常多的优化了

 

再说说是怎么查数据的  通过索引找到数据所在页   将数据页放入内存  再从内存中的查找页内的数据

 

值得一提出的是   一个页至少要放两条数据,b+树就变成双向链表了

如果一行数据超过 page_size的一半   mysql就会处理

 

把数据处理为  blob 大对象

资源链接

https://blog.csdn.net/u012565458/article/details/127648861

 

 

 

 

具体没细看  以后再说,先就这样吧

 

posted @ 2022-11-26 16:08  霸王龙168  阅读(27)  评论(0)    收藏  举报