栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL实战之BufferPoll详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL实战之BufferPoll详解

MySQL实战之BufferPoll详解 前言
  1. 使用MySQL如果没听过BufferPoll, 就好比写Java不知道Spring一样,人家会觉得你很low,大家都明白的,只要提到高效,肯定第一想到的就是内存,MySQL的核心内存就是它
BufferPoll详解
  1. MySQL启动时是什么样的了,来张图示意一下,首先MySQL操作的基本单元是缓存页,它是和数据页对应的,每个的大小都是16K,MetaData记录它们之间的对应关系。
  2. 刚开始是没问题的, 但是用着用着就不知道哪些在用,哪些空闲了,这个时候free链表就应运而生了,它的数据结构是双向链表,存在于metaData中, 其中有一个基础节点包含一空闲缓存页的数量和指向头尾节点的地址引用。
  3. 这时候有一些缓存页执行了增删改操作,后续肯定要进行刷盘操作啊,flush链表就是专门做这件事的,它和free链表类似也是一个双向链表的结构
  4. 还有一个比较重要的数据结构,称之为lru链表,它里边区分出了冷热数据,首先数据都是在冷数据区的,1秒以后再次访问,就会移动到热数据区。这个时候需要把脏数据刷盘就有目标了,肯定从冷数据区的末尾开始啦。
  5. 彩蛋
    1. 既然BufferPoll对于效率的影响这么大,而系统默认的内存是128M,是不是要优化一下,比如每个设置为2G, 再比如说设置4个,这样并发效率是不是大大提升
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851142.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号