无标签
- 分类
- 未分配
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 00:57
答案
innodb在读取数据页的时候,会将相邻的页也读取到buffer pool当中,然而这会导致一个问题,有可能这些预读的数据根本不会被访问,但是他却放在了链表的前面,甚至还需要淘汰掉后面的一些可能的热点数据。因此这就会产生一个预读失效的结果。解决预读失效的方法就是不要让读取的页一下子就放在头部,因此innodb分了young区和old区,读取数据的时候先放入old区的头部,当数据被访问的时候再添加到young区头部
相关题目(5)
什么是热点 key,如何处理?共源 1
分布式系统Redis
watch dog 机制是什么?共源 1
分布式系统并发锁Redis
Redis 如何实现分布式锁?共源 1
分布式系统锁Redis
分布式系统并发Redis
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(数据库).md
knowledge_noteQuestion 79: 什么是预读失效?
Source answer: innodb在读取数据页的时候,会将相邻的页也读取到buffer pool当中,然而这会导致一个问题,有可能这些预读的数据根本不会被访问,但是他却放在了链表的前面,甚至还需要淘汰掉后面的一些可能的热点数据。因此这就会产生一个预读失效的结果。解决预读失效的方法就是不要让读取的页一下子就放在头部,因此innodb分了young区和old区,读取数据的时候先放入old区的头部,当数据被访问的时候再添加到young区头部
Reviewed answer: 预读失效是指 InnoDB 读取某页时把相邻页也预读进 Buffer Pool,但这些预读页后续未被访问,却占据了靠前位置并可能挤掉热点页。常见优化是将新读入页先放 old 区,被再次访问后再进入 young 区。