MySQL的查询缓存和Buffer Pool

 更新时间:2020年11月27日 08:51:36   作者:赐我白日梦  
这篇文章主要介绍了MySQL的查询缓存和Buffer Pool,帮助大家更好的理解和学习MySQL 数据库,感兴趣的朋友可以了解下

一、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的资料请关注脚本之家其它相关文章!

相关文章

  • 一文搞懂MySQL XA如何实现分布式事务

    一文搞懂MySQL XA如何实现分布式事务

    MySQL如何实现多个MySQL数据库更新的一致性呢?那就是MySQL XA,本文就来介绍一下MySQL XA如何实现分布式事务,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • 详解mysql不等于null和等于null的写法

    详解mysql不等于null和等于null的写法

    这篇文章主要介绍了详解mysql不等于null和等于null的写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • mysql 5.7.17 安装配置方法图文教程(windows10)

    mysql 5.7.17 安装配置方法图文教程(windows10)

    这篇文章主要为大家分享了mysql 5.7.17 安装配置方法图文教程,具有一定的参考价值,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 超详细MySQL8.0.22安装及配置教程

    超详细MySQL8.0.22安装及配置教程

    这篇文章主要介绍了超详细MySQL8.0.22安装及配置教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 将MySQL数据导出为sql文件的最佳实践

    将MySQL数据导出为sql文件的最佳实践

    这篇文章主要给大家介绍了如何将MySQL数据导出为sql文件,避免数据丢失的最佳实践,文中有详细的导出流程步骤,跟着文中的步骤就可以导出文件,需要的朋友可以借鉴参考
    2023-07-07
  • mysql 5.7.18 绿色版下载安装教程

    mysql 5.7.18 绿色版下载安装教程

    这篇文章主要为大家详细介绍了mysql 5.7.18 绿色版下载安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • MySQL学习之基础操作总结

    MySQL学习之基础操作总结

    MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的。本文将为大家详细介绍一下MySQL的基础操作,需要的可以参考一下
    2022-03-03
  • MySQL将多条数据合并成一条的完整示例

    MySQL将多条数据合并成一条的完整示例

    我们在使用mysql的时候常会遇到合并的需求,下面这篇文章主要给大家介绍了关于MySQL将多条数据合并成一条的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • MySql5.7.21安装要点记录笔记

    MySql5.7.21安装要点记录笔记

    这篇文章主要介绍了mysql5.7.21安装要点记录笔记,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 解决MySQL去除密码登录告警的问题

    解决MySQL去除密码登录告警的问题

    这篇文章主要介绍了MySQL去除密码登录告警的问题,解决方法是使用mysql_config_editor,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04

最新评论