0.

1.参考

缓存一切数据,读取内存而不是硬盘IO

如果你的服务器默认情况下没有使用MySQL查询缓存,那么你应该开启缓存。开启缓存意味着MySQL 会把所有的语句和语句执行的结果保存下来,如果随后有一条与缓存中完全相同的语句需要执行,那么MySQL 就会返回缓存的结果。缓存不会过时,因为MySQL 会在表数据更新后刷新缓存。

Look for the [mysqld] group header in my.cnf and put those lines under it

[mysqld]query_cache_type =1query_cache_size =4096M

query_cache_limit =2M

query_cache_strip_comments =1

Every change to a table requires scanning the 4GB to purge entries for that table.  一旦数据更新,会清空内存的所有缓存并更新,所以应该合理设置缓存总大小 query_cache_size

2.MySQL 查询缓存

当前设置

mysql> show variables like "query_cache%";

+------------------------------+---------+

| Variable_name | Value |

+------------------------------+---------+

| query_cache_limit | 1048576 |    #单条最大 1MB,1000条数据返回45KB,这里设置为 51200 比较合适

| query_cache_min_res_unit | 4096 |     #100条数据返回4.8KB,这里设置为 5120 比较合适,不够会再申请一块

| query_cache_size | 1048576 |    #总共分配1MB,修改为 52428800,即50MB,能够缓存 1w 个 100条查询结果。

| query_cache_type | OFF |      #修改为 1 或 ON 缓存除了以 SELECT SQL_NO_CACHE 开头的所有查询结果。另一个选项是 2 或 DEMAND 只缓存以 SELECT SQL_CACHE 开头的查询结果。

| query_cache_wlock_invalidate | OFF |  #表锁定时认为缓存不可用,修改为 ON

+------------------------------+---------+

5 rows in set (0.01 sec)

mysql> select @@query_cache_type;

+--------------------+

| @@query_cache_type |

+--------------------+

| OFF |

+--------------------+

1 row in set, 1 warning (0.00 sec)

mysql> set @@query_cache_type=ON;

ERROR 1651 (HY000): Query cache is disabled; restart the server with query_cache_type=1 to enable it

mysql> exit;

修改缓存设置  vi /etc/my.cnf 重启 service mysqld restart

query_cache_limit = 50K

query_cache_min_res_unit = 5K

query_cache_size = 50M

query_cache_type = 1

query_cache_wlock_invalidate = ON

查询缓存状态

mysql> show status like "Qcache%";

+-------------------------+----------+

| Variable_name | Value |

+-------------------------+----------+

| Qcache_free_blocks | 1 |   #太多碎片,最小分配内存单位设置不合理?

| Qcache_free_memory | 52365352 |

| Qcache_hits | 0 |        #命中缓存的查询次数

| Qcache_inserts | 12 |    #插入次数

| Qcache_lowmem_prunes | 0 |   #总缓存空间不足?

| Qcache_not_cached | 0 |

| Qcache_queries_in_cache | 12 |    #现有缓存个数

| Qcache_total_blocks | 26 |

+-------------------------+----------+

8 rows in set (0.00 sec)

设置 query_cache_min_res_unit 为 5K 或 10K 下面结果都是1:2,所以还是设置为 5K???

Qcache_queries_in_cache | 1152 |

| Qcache_total_blocks | 2307 |

3.

mysql 查询设置调优_MySQl 查询性能优化相关相关推荐

  1. mysql 常用sql调优_MySQL 常用SQL优化

    MySQL 常用SQL优化: 一.大批量插入数据: 1.对于load MyISAM存储引擎的表,可以通过关闭打开MyISAM表非唯一索引的更新来提升导入速度: 例:mysql > alter t ...

  2. 《Java性能调优实战》笔记(一)Java编程性能调优、多线程性能优化

    文章目录 一.Java性能调优概述 1.1 性能调优标准 1.2 制定性能调优策略 二.Java编程性能调优 2.1 字符串 2.2 正则表达式 2.3 ArrayList和LinkedList的选择 ...

  3. apache php 调优_Apache的性能优化实例(一)

    本文主要和大家分享Apache的性能优化(一),希望能帮助到大家. Apache缺省的最大用户数是256个:这个配置对于服务器内存还是256M左右的时代是一个非常好的缺省设置,但随着内存成本的急剧下降 ...

  4. java jvm性能调优_java jvm性能优化

    摘要: 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bit 还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般 ...

  5. mysql insert 不需要日志_MySQL数据库性能优化(1)「转」

    1.MySQL概述 从本文开始我们将讨论建立在块存储方案之上的关系型数据库的性能优化方案和集群方案.关系型数据库的选型将以创业公司.互联网行业使用最广泛的MySQL数据为目标,但是MySQL的安装过程 ...

  6. apache php 调优_Apache的性能优化(二)

    具体模块定制: 编译和包含是两个不同的概念.编译是指这个模块被编译了,要想使用它,只用简单的修改httpd.conf加上LoadModule xxx_module libexec/mod_xxx.so ...

  7. Java编程性能调优-01|字符串性能优化不容小觑,百M内存轻松存储几十G数据

    一.字符串性能优化不容小觑,百M内存轻松存储几十G数据 一.String 对象是如何实现的? String str1= "abc"; String str2= new String ...

  8. mysql数据库存储引擎选择_MySQL数据库性能优化之存储引擎选择

    的存储引擎可能是所有关系型产品中最具有特色的了,不仅可以同时使用多种存储引擎,而且每种存储引擎和MySQL之间使用插件方式这种非常松的耦合关系. Eb$d8lR;Tw0由于各存储引擎功能特性差异较大, ...

  9. linux sql server调优,SQL SERVER性能优化(转)

    [IT168技术文档] 1. 用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数:通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担:能够分开的操作尽量分开处理,提高每次的 ...

最新文章

  1. 二十年后我发明了保姆机器人作文_我想发明保姆机器人作文700字
  2. python获取键盘输入能不能不按回车键_Github获8300星!用Python开发的一个命令行的网易云音乐...
  3. .NET Framework 类库: Uri类
  4. stateflow中终止节点小记
  5. VUE技术栈学习笔记(https://segmentfault.com/a/1190000012530187)
  6. 让人难以置信的HTML5和JavaScript实验
  7. 深度学习笔记(43) Siamese网络
  8. MySQL一个语句查出各种整形占用字节数及最大最小值
  9. java与tomcat,Centos上安装配置java和tomcat
  10. Scrivener for Mac如何自定义快捷键
  11. 2017年语义理解总结(一)
  12. 常见的浏览器兼容问题和解决方法
  13. 关于程序员的非技术面试题全在这里。
  14. android 短信数据库在哪个文件夹,安卓手机的短信备份后存到了哪个文件夹下
  15. 在html中通过使用css解决高度塌陷问题
  16. EBS日记账冲销API
  17. PHP 重启 php-fpm 的几种方法
  18. 小型元器件介绍:瓷片电容
  19. 图像3尺度全小波包分解matlab,小波分析理论与图像降噪处理
  20. 富士康一员工疑因产生被追杀幻觉跳楼身亡(转)

热门文章

  1. POJ2112 Optimal Milking
  2. 前端框架Vue、angular、React的优点和缺点,以及应用场景
  3. golang刷Leetcode系列 --- 加1
  4. Session的异常
  5. shell脚本实现动态时钟
  6. jquery(ajax)+ashx简单开发框架(原创)
  7. androd之绘制文本(FontMetrics)
  8. 学Ruby开发的几个好网站
  9. 深入研究Servlet线程安全性问题
  10. vmware Failed to initialize remote display subsystem