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查询缓存简单使用)
- 如何重新配置mysql的端口(如何快速修改MySQL用户的host属性)
- mysql时间戳和datetime对比(mysql中 datatime与timestamp的区别说明)
- mysql错误代码之1064的解决方案(mysql错误代码之1064的解决方案)
- mysql创建用户并给用户授权(MySQL 主从复制中创建复制用户的时机探讨)
- mysql快速备份数据(如何使用Maxwell实时同步mysql数据)
- mysql插入数据错误代码(教你解决往mysql数据库中存入汉字报错的方法)
- navicat连接mysql是远程连接吗(详解Navicat远程连接mysql很慢)
- MySQL与Oracle数据类型对应关系
- mysql高级变量查询(MySQL 使用自定义变量进行查询优化)
- mysql事务特性和隔离级别(Mysql事务特性和级别原理解析)
- 如何排查mysql存储过程的问题(Mysql修改存储过程相关权限问题)
- mysql sql优化方法(MySQL SQL优化教程之in和range查询)
- 操作mysql的jdbc(JDBC连接的六步实例代码与mysql连接)
- mysql的sql语句优化5种方式(MySQL:五个常见优化SQL的技巧)
- 了解mysql数据自动备份(MySQL数据备份方法的选择与思考)
- 通过体温就能为智能手表充电 原来是用NASA在空间站用的黑科技(通过体温就能为智能手表充电)
- 智能手表兼容Windows和Android 无需充电挑战苹果(智能手表兼容Windows和Android)
- 一天一冲也算表 麦步,一款待机 21 天的智能手表体验评测(一天一冲也算表)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
热门推荐
- linq xml 查询
- vue常用的指令和修饰符(Vue中 Vue.prototype使用详解)
- ui小程序布局(AmazeUI 输入框组的示例代码)
- nodejs登录案例(利用Node.js创建一个密码生成器的全步骤)
- vue点击导航进行内容切换(vue实现顶部左右滑动导航)
- python中字典的值怎么应用(对python中字典keys,values,items的使用详解)
- dedecms显示问号(dedecms提示你的用户名不存在的解决方法)
- dedecms标签调用大全(织梦cms图集{dede:field name='imgurls'}显示栏目名称)
- dedecms文章怎么发(批量替换织梦DedeCMS所有文章来源和作者的方法)
- vue编程加入购物车(vuex实现简单的购物车功能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9