MySQL卡顿背后的是什么?⭐️

2026-05-21 23:422阅读0评论建站教程
  • 内容介绍
  • 文章标签
  • 相关推荐

MySQL卡顿背后的是什么?⭐️

2024新年新气象, 小菜同学又踏上了求职之路,但求职路艰辛,新年第一次面试又被面试官给问住了,这事儿我可太有发言权了。

面试官:你有没有遇到过主要原因是持久化,把线程的查询、修改请求卡住的情况,百感交集。?

MySQL持久化不为人知的一面⭐️卡顿现象的根源与对策

小菜:持久化时写redo log的, 利用写redo log的顺序性来提升性能, 栓Q! 避免随机IO,所以呢不会卡住其他线程的请求的

面试官:好,那我们今天的面试就到这里吧

经历本次面试,小菜同学又重新整理缓冲池、持久化相关的知识点终于搞懂卡顿的根源和对策,捡漏。

缓冲池

礼貌吗? 缓冲池是一块内存区域,用于将磁盘中的页加载到内存,加快访问速度

当访问数据页时需要先判断页是否在缓冲池中,如果不在则需要从磁盘加载到缓冲池中

实际是通过Key:表空间 + 页号 Value:页 的方式建立散列表,达到O的查找速度

那如何判断某个页是否存在于缓冲池中呢?难道去遍历吗,我心态崩了。?

数据页被加载到缓冲池后称为缓存页, 每个缓存页对应一个控制块,控制块上记录数据页的相关信息

注意:链表管理控制块相当于管理对应的缓存页,上手。

LRU算法优化

踩个点。

阅读全文

MySQL卡顿背后的是什么?⭐️

2024新年新气象, 小菜同学又踏上了求职之路,但求职路艰辛,新年第一次面试又被面试官给问住了,这事儿我可太有发言权了。

面试官:你有没有遇到过主要原因是持久化,把线程的查询、修改请求卡住的情况,百感交集。?

MySQL持久化不为人知的一面⭐️卡顿现象的根源与对策

小菜:持久化时写redo log的, 利用写redo log的顺序性来提升性能, 栓Q! 避免随机IO,所以呢不会卡住其他线程的请求的

面试官:好,那我们今天的面试就到这里吧

经历本次面试,小菜同学又重新整理缓冲池、持久化相关的知识点终于搞懂卡顿的根源和对策,捡漏。

缓冲池

礼貌吗? 缓冲池是一块内存区域,用于将磁盘中的页加载到内存,加快访问速度

当访问数据页时需要先判断页是否在缓冲池中,如果不在则需要从磁盘加载到缓冲池中

实际是通过Key:表空间 + 页号 Value:页 的方式建立散列表,达到O的查找速度

那如何判断某个页是否存在于缓冲池中呢?难道去遍历吗,我心态崩了。?

数据页被加载到缓冲池后称为缓存页, 每个缓存页对应一个控制块,控制块上记录数据页的相关信息

注意:链表管理控制块相当于管理对应的缓存页,上手。

LRU算法优化

踩个点。

阅读全文