启用MySQL查询缓存可以极大地减低数据库服务器的CPU使用率,实际使用情况是:开启前CPU使用率120%左右,开启后降到了10%。

查看查询缓存情况:
mysql> show variables like '%query_cache%'; 
(query_cache_type 为 ON 表示已经开启)
+------------------------------+----------+
| Variable_name                | Value    |
+------------------------------+----------+
| have_query_cache             | YES      |
| query_cache_limit            | 1048576  |
| query_cache_min_res_unit     | 4096     |
| query_cache_size             | 20971520 |
| query_cache_type             | ON       |
| query_cache_wlock_invalidate | OFF      |
+------------------------------+----------+
如果不是ON,修改配置文件以开启查询缓存:
> vi /etc/my.cnf
[mysqld]中添加:
query_cache_size = 20M
query_cache_type = ON
重启mysql服务:
> service mysql restart
查看缓存使用情况:
mysql> show status like 'qcache%';  
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 83       |
| Qcache_free_memory      | 19811040 |
| Qcache_hits             | 3108196  |
| Qcache_inserts          | 757254   |
| Qcache_lowmem_prunes    | 20720    |
| Qcache_not_cached       | 47219    |
| Qcache_queries_in_cache | 47       |
| Qcache_total_blocks     | 276      |
+-------------------------+----------+

其中各个参数的意义如下:

  • Qcache_free_blocks:缓存中相邻内存块的个数。数目大说明可能有碎片。FLUSH QUERY CACHE会对缓存中的碎片进行整理,从而得到一个空闲块。
  • Qcache_free_memory:缓存中的空闲内存。
  • Qcache_hits:每次查询在缓存中命中时就增大
  • Qcache_inserts:每次插入一个查询时就增大。命中次数除以插入次数就是不中比率。
  • Qcache_lowmem_prunes:缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数。这个数字最好长时间来看;如果这个 数字在不断增长,就表示可能碎片非常严重,或者内存很少。(上面的 free_blocks和free_memory可以告诉您属于哪种情况)
  • Qcache_not_cached:不适合进行缓存的查询的数量,通常是由于这些查询不是 SELECT 语句或者用了now()之类的函数。
  • Qcache_queries_in_cache:当前缓存的查询(和响应)的数量。
  • Qcache_total_blocks:缓存中块的数量。
对于某些不想使用缓存的语句,可以这样使用:
select SQL_NO_CACHE count(*) from users where email = 'hello';

from:https://blog.csdn.net/ClementAD/article/details/46806469

启用MySQL查询缓存相关推荐

  1. MySQL查询缓存前世今生

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

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

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

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

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

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

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

  5. 详解MySQL查询缓存

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

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

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

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

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

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

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

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

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

  10. mysql 查询缓存设置

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

最新文章

  1. LeetCode简单题之寻找比目标字母大的最小字母
  2. 用一个参数化的模型来投影点
  3. 3个月定期存款利息怎么算?
  4. Express 常用中间件 body-parser 实现解析
  5. java replace 双引号到单引号
  6. 网站设计中面包屑导航条的使用和设计
  7. tp3.2 模型实例化
  8. 北斗高精度卫星接收机的分类
  9. C++实现人机对战围棋(使用Leela Zero权重)-自动提子
  10. httpclient用法大全
  11. 我的架构感悟:从美国宪法学习架构设计原则
  12. 报价单和价目表制作的软件app
  13. 201711671109《Java程序设计》第九周总结(第8章)
  14. 平面设计入门新手需看技巧
  15. html 中表格的拆分合并
  16. erase和remove
  17. dhl寄件邮编错了_如果从国外邮寄DHL往中国.邮编怎么写?
  18. charles + 雷电模拟器4进行手机抓包
  19. 骁龙768g和765g的差距大不大
  20. 安卓中adb命令工作的底层原理及使用举例

热门文章

  1. gridview求和
  2. ArrayList以及List的常用方法
  3. Scala进阶之路-I/O流操作之文件处理
  4. LAMP+LNMP(二) MySQL/Mariadb概述与安装实践
  5. Tomcat环境部署以及tomcat多实例搭建(同一台机器)
  6. Writing udev rules
  7. HDU 1230解题报告
  8. Java语言实现简单FTP软件------FTP软件远程窗口的实现(六)
  9. 寻找二叉树最小叶子节点值
  10. page compaction代码分析之一