MySQL 把数据页加载进内存后再检索索引树,那不是内存 I/O 么跟磁盘 I/O 啥关系?磁盘 I/O 不是在加载数据页( B+Tree 节点)时才触发么?
1
JeromeCui 2022-07-26 20:10:00 +08:00
非叶子节点也是 B+树的节点,存在磁盘上啊
|
2
LeegoYih 2022-07-26 20:11:29 +08:00
树高会影响 IO 次数,用 B+Tree 树就是这个原因,比 B-Tree 更矮更胖。
数据页是从磁盘加载到内存中的,如果发现数据不在当前页,可能在下一页,才会去磁盘继续加载页。 |
3
Jooooooooo 2022-07-26 20:15:51 +08:00
搜 buffer pool
|
4
Aresxue 2022-08-01 14:17:38 +08:00 1
当前,因为不是所有数据都在 buffer pool 里面,一般情况下 B+树只有根节点才是常驻内存的。
|