首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中如何将B+tree序列化为磁盘

在MySQL中如何将B+tree序列化为磁盘
EN

Stack Overflow用户
提问于 2021-09-01 12:15:01
回答 1查看 71关注 0票数 0

我知道B+tree在内存中是如何工作的,但我不明白像MySQL这样的数据库是如何使用它的。

在没有任何优化的情况下,如果任何数据被更新/插入,树节点(叶节点或非叶节点)应该保存到磁盘,并且如果有人搜索,应该从磁盘加载。

如何将B+tree节点序列化为磁盘上的一个文件?磁盘中的随机访问似乎不可避免。

EN

回答 1

Stack Overflow用户

发布于 2021-09-01 12:36:53

是的,随机访问在InnoDB中持续发生。索引的B+Tree数据结构被写到表空间中的许多页中,而不一定是连续的页。每一页都有指向下一页的链接,下一页可能位于表空间中的任何位置。

这可以通过将页面加载到RAM和innodb缓冲池来缓解,在该缓冲池中,随机访问不会产生开销。

如果您对InnoDB如何在页面上存储索引的详细信息感兴趣,我建议您学习Jeremy Cole的一系列博客文章:https://blog.jcole.us/innodb/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69013569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档