可以通过下面的SQL查看当前查询缓存相关参数状态:
SHOW VARIABLES LIKE '%query_cache%';
输出结果类似下面: 
query_cache_type 
查询缓存类型,有0、1、2三个取值。0则不使用查询缓存。1表示始终使用查询缓存。2表示按需使用查询缓存。 
如果query_cache_type为1而又不想利用查询缓存中的数据,可以用下面的SQL: 
SELECT SQL_NO_CACHE * FROM my_table WHERE condition;
如果值为2,要使用缓存的话,需要使用SQL_CACHE开关参数:
SELECT SQL_CACHE * FROM my_table WHERE condition;
query_cache_size 
默认情况下query_cache_size为0,表示为查询缓存预留的内存为0,则无法使用查询缓存。所以我们需要设置query_cache_size的值: 
SET GLOBAL query_cache_size = 134217728;
注意上面的值如果设得太小不会生效。比如我用下面的SQL设置query_cache_size大小: 
SET GLOBAL query_cache_size = 4000;
SHOW WARNINGS;
会返回下面的结果: 
缓存条件 
查询缓存可以看做是SQL文本和查询结果的映射。如果第二次查询的SQL和第一次查询的SQL完全相同(注意必须是完全相同,即使多一个空格或者大小写不同都认为不同)且开启了查询缓存,那么第二次查询就直接从查询缓存中取结果,可以通过下面的SQL来查看缓存命中次数(是个累加值):
SHOW STATUS LIKE 'Qcache_hits';
另外即使完全相同的SQL,如果使用不同的字符集、不同的协议等也会被认为是不同的查询而分别进行缓存。
缓存数据失效时机 
在表的结构或数据发生改变时,查询缓存中的数据不再有效。有这些INSERT、UPDATE、 DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE会导致缓存数据失效。所以查询缓存适合有大量相同查询的应用,不适合有大量数据更新的应用。
可以使用下面三个SQL来清理查询缓存: 
1、FLUSH QUERY CACHE; // 清理查询缓存内存碎片。
2、RESET QUERY CACHE; // 从查询缓存中移出所有查询。
3、FLUSH TABLES; //关闭所有打开的表,同时该操作将会清空查询缓存中的内容。

转载于:https://www.cnblogs.com/manmanrenshenglu/p/9723053.html

MySQL查询缓存总结相关推荐

  1. MySQL高级-MySQL查询缓存优化

    MySQL查询缓存优化 1 概述 2 操作流程 3 查询缓存配置 4 开启查询缓存 5 查询缓存SELECT选项 6 查询缓存失效的情况 1 概述 开启Mysql的查询缓存,当执行完全相同的SQL语句 ...

  2. mysql 查询缓存设置_MySQL查询缓存设置 提高MySQL查询性能

    从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询.这样就大大提 ...

  3. MySQL查询缓存前世今生

    MySQL查询缓存 前言 QueryCache介绍 SQL共享 QueryCache配置 通常开启QueryCache方式 QueryCache使用 禁用queryCache场景 开启queryCac ...

  4. mysql清除缓存_清空 MySQL 查询缓存

    MySQL 查询缓存 在 SQL 调优的过程中,发现原本很慢的一条 SQL(将近 1 分钟) 在第二次运行时, 瞬间就完成了(0.04sec). 这是因为 MySQL 自带的缓存机制,将查询结果进行缓 ...

  5. 详解MySQL查询缓存

    查询缓存是指存储使用SELECT语法查询到的返回到客户端的文本.当相同的请求再次发生时,会从查询缓存中获取数据,而非再执行一遍查询.查询缓存是共享Session会话的,所以一个客户端的请求可能与另一个 ...

  6. php mysql 查询缓存_mysql 查询缓存使用详解

    MySQL server 有一个重要的特征:查询缓存(Query Cache). 当在使用中,查询缓存会存储一个 SELECT 查询的文本与被传送到客 户端的相应结果.如果之后接收到一个同样的查询,服 ...

  7. mysql查询缓存优化配置_mysql 优化之查询高速缓冲配置 小记

    如果查询缓存大小设置为大于0,query_cache_type变量影响其工作方式.这个变量可以设置为下面的值: ·         0或OFF将阻止缓存或查询缓存结果. ·         1或ON将 ...

  8. MySQL查询缓存设置提高MySQL查询性能

    首先看看MSYQL逻辑框架:图片来自高性能mysql 如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存中检索结果,而不是再次分析和执行相同的查询.这样就能大大提高 ...

  9. linux mysql 查看缓存_详解MySQL查询缓存

    查询缓存是指存储使用SELECT语法查询到的返回到客户端的文本.当相同的请求再次发生时,会从查询缓存中获取数据,而非再执行一遍查询.查询缓存是共享Session会话的,所以一个客户端的请求可能与另一个 ...

  10. mysql 查询缓存设置

    1.首先查看mysql的缓存配置 SHOW VARIABLES LIKE '%query_cache%'; +----------+---+ | Variable_name | Value | +-- ...

最新文章

  1. 操作SQLite数据库
  2. 使用功能开关更好地实现持续部署
  3. 计算机电容的作用,电容和电感的作用
  4. nginx反代理服务器
  5. yolo loss 将图像标注的真实事坐标转换到anchor坐标
  6. 算法设计与分析 矩阵连乘问题 动态规划
  7. TensorFlow学习笔记(十六)tf.random_normal
  8. C main()参数
  9. TCP连接的99号和110号错误
  10. 95-36-210-ChannelHandler-系统Channel-TimeoutHandler
  11. TCP/IP卷一实验之------EIGRP
  12. 易到起死回生的背后,谁在指点江山?
  13. lua中 只有 nil 和 false 为假, 其他都为真包括0
  14. 基于matlab的暴雨强度公式参数推求,基于MATLAB的暴雨强度公式参数推求
  15. 最新QQ坦白说消息查看发送者
  16. 宋江是怎么当上老大的
  17. 前端新手小白,入职第一天,我都做了什么
  18. C++: byte和int的相互转化和LOBYTE+HIBYTE的应用
  19. 用docx4j生成word之后转成pdf
  20. 通用U盘启动盘制作工具 V5.0(全能版)

热门文章

  1. kafka数据文件.log
  2. win10微软账户登录后以管理员都无法修改hosts文件解决办法
  3. k8s调度之node的亲和性以及pod的亲和性/反亲和性
  4. scala定长数组(接近Java数组)
  5. python3数据类型:Tuple(元组)
  6. Java集合常见数据结构-栈/队列/数组/链表/红黑树
  7. Hadoop大数据——shuffle详解
  8. 根据Explain结果中的key_len判断MySQL联合索引中实际用到的索引字段
  9. linux 查看服务器网络连接,1.3.2 查看Linux服务器的网络连接(2)
  10. Linux登陆Mariadb数据库,Mariadb数据库的远程连接(centos 7+ Navicat)