mysql的存储性能优化(MySQL的查询缓存和Buffer Pool)
mysql的存储性能优化
MySQL的查询缓存和Buffer Pool一、Caches - 查询缓存
下图是MySQL官网给出的:MySQL架构体系图。
人们常说的查询缓存就是下图中的Cache部分。
如果将MySQL分成 Server层和存储引擎层两大部分,那么Caches位于Server层。
另外你还得知道:
当一个SQL打向MySQL Server之后,MySQL Server首选会从查询缓存中查看是否曾经执行过这个SQL,如果曾经执行过的话,之前执行的查询结果会以Key-Value的形式保存在查询缓存中。key是SQL语句,value是查询结果。我们将这个过程称为查询缓存!
如果查询缓存中没有你要找的数据的话,MySQL才会执行后续的逻辑,通过存储引擎将数据检索出来。并且查询缓存会被shared cache for sessions,是的,它会被所有的session共享。
查询缓存的缺点:
只要有一个sql update了该表,那么表的查询缓存就会失效。所以当你的业务对表CRUD的比例不相上下,那么查询缓存may be会影响应用的吞吐效率。
你可以通过参数 query_chache_type=demand禁用查询缓存。并且在mysql8.0的版本中,已经将查询缓存模块删除了。
所以,你可以根据自己的情况考虑一下有没有必要禁用个功能
二、Buffer Pool
还是那句话:如果将MySQL分成 Server层和存储引擎层两大部分,那么Buffer Pool位于存储引擎层。
其实大家都知道无论是连接池也好、缓存池也好,只要是XXX池,都是为加速而设计的。比如操作系统的文件系统为了加快数据的读取速度,每次都做低效率的磁盘随机IO设计了缓冲写机制。
而Buffer Pool就是MySQL存储引擎为了加速数据的读取速度而设计的缓冲机制。下图中的灰色部分就是BufferPool的脑图。(字是真迹,非常之秀气!)
以上就是MySQL的查询缓存和Buffer Pool的详细内容,更多关于MySQL 查询缓存和Buffer Pool的资料请关注开心学习网其它相关文章!
原文链接:https://www.cnblogs.com/ZhuChangwu/p/13977755.html
- mysql变量技巧(mysql用户变量与set语句示例详解)
- mysql数据库基本使用方法(详解MySQL 数据库范式)
- 常见的mysql优化策略(MySQL pt-slave-restart工具的使用简介)
- mysql优化使用方法(详解Mysql函数调用优化)
- idea的mysql如何连接(在IntelliJ IDEA中使用Java连接MySQL数据库的方法详解)
- navicat15激活页面不显示(Navicat for MySQL 15注册激活详细教程)
- mysql更新数据库表中的数据语法(Mysql联表update数据的示例详解)
- 如何在cmd里开启mysql(Windows下通过cmd进入DOS窗口访问MySQL数据库)
- mysql有哪些约束(MySQL完整性约束的定义与实例教程)
- django mysql设置(Django框架使用mysql视图操作示例)
- win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法(win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法)
- mysql 索引怎么实现(Mysql中索引和约束的示例语句)
- 分享mysql设计规范(MySQL 可扩展设计的基本原则)
- mysql binlog日志位置(开启MySQL的binlog日志的方法步骤)
- mysql查询时间格式化(MySQL时间格式化)
- mysql多行数据之和(详解MySQL的数据行和行溢出机制)
- 苹果正式发布自研芯片M1 5nm 32核心 彻底放弃Intel(苹果正式发布自研芯片M1)
- 苹果自研芯片跑分对比 A16芯片排名靠后,M1系列霸榜(苹果自研芯片跑分对比)
- X86处理器的梦魇 苹果M1自研芯片到底有多强(苹果M1自研芯片到底有多强)
- 泰剧《爱欲之神》Boom kitkong和Great合体杂志(泰剧爱欲之神Boomkitkong和Great合体杂志)
- 素人恋爱综艺火药味十足 男生为赢得芳心集体扯头花,真是出好戏(素人恋爱综艺火药味十足)
- 《囧妈》为何受抵制 春节七部影片撤档背后的责任与博弈(囧妈为何受抵制)
热门推荐
- 升级mysql客户端版本(超详细教你怎么升级Mysql的版本)
- linux下date用法(Linux date命令的使用)
- html使用canvas画矩形(CSS、SVG和canvas分别实现文本文字纹理叠加效果)
- css宫格布局(CSS实现页面九宫格布局的简单示范)
- php如何继承多个类(PHP面向对象程序设计子类扩展父类子类重新载入父类操作详解)
- 免费ftp服务器怎么用(几种流行的ftp服务器软件推荐)
- mysql5.7详细安装教程(MySQL5.7.33安装过程图文详解)
- HttpWebRequest的使用
- react源码教程(详解React 代码共享最佳实践方式)
- php微信公众号管理后台(php实现微信公众号创建自定义菜单功能的实例代码)