启用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. 图灵奖大佬Hinton团队CV新作:用语言建模做目标检测,性能媲美DETR
  2. 自学python推荐书籍同时找哪些来实践-Python学习路上有这些论坛、网站、书籍与你同行...
  3. Sencha touch Panel之间的跳转(如不使用TabPanel或者Carousel控件而产生跳转的动画效果)...
  4. boost::hana::replace用法的测试程序
  5. 转-- iOS 30多个iOS常用动画,带详细注释
  6. 网络相关配置,SSH服务,bash, 元字符
  7. pdol链接mysql_MySQL5.7.11免安装版的安装和配置:解决MYSQL服务无法启动问题
  8. Java爬虫开发总结
  9. php工作流如何实现,工作流设计参考(包括PHP实现)
  10. 图论及其应用(吴望明中文版)
  11. SQL查询中的笛卡尔积现象解决方法
  12. p5.js之Q版人物绘制
  13. phpStudy安装教程
  14. python5.2、输出格式控制 - 摄氏-华氏温度换算
  15. 关于ArcGIS的入门建议
  16. Direct I/O in DOSBOX for COMM serial communications with QBasic, TBasic or Pbasic
  17. 自制Unity文件查找器,支持拼音搜索
  18. 剑指 Offer 32 - I. 从上到下打印二叉树(Java迭代法实现)
  19. android设置高度比例,android开发layout按比例布局(详解)
  20. linux mint 18内核版本,Linux Mint 18.2用户如何升级到Linux Mint 18.3“Sylvia”

热门文章

  1. 自动创建日期文件并写入数据python脚本
  2. git fork的项目与原作者同步
  3. makefile中伪目标的理解
  4. 砸黑板! 正则表达式!!!re 模块
  5. sql server小知识
  6. 拥2180亿美元收入 苹果成全球最大IT企业
  7. Django 配置App特定类的富文本编辑器
  8. opkg-utils的PKGBUILD文件,参考自OE的opkg-utils_git.bb
  9. MED-V实战之镜像测试,MED-V系列之五
  10. html表格填充渐变颜色代码,CSS控制图片、表格、背景颜色渐变示例