如何有效使用Mysql的Query Cache

须要根据Query Cache失效机制来判断哪些表适合使用Query哪些表不适合。

由于Query Cache的失效主要是因为Query所依赖的Table数据发生了变化,可能造成Query的Result Set已经有所改变而导致相关的Query Cache全部失效,那么就应该避免在查询变化频繁的Table的Query上使用,而应该在那些查询变化频率较低的Table的Query上使用。

MySQL中针对Query Cache有两个专用的SQL Hint(提示):SQL_NO_CACHE和SQL_CACHE,分别代表强制不使用Query Cache和强制使用Query Cache

可以利用这两个SQLHint,让MySQL知道我们希望哪些SQL使用Query Cache,哪些SQL不要使用。这样不仅可以让变化频繁的Table的Query浪费Query Cache的内存,同时还可以减少Query Cache的检测量

对于那些变化非常少,大部分时候都是静态的数据,可以添加SQL_CACHE的SQL Hint,强制MySQL使用QueryCache,从而提高该表的查询性能

有些SQL的Result Set很大,如果使用Query Cache很容易造成Cache内存的不足,或者将之前一些老的Cache冲刷出去。对于这一类Query有两种方法可以解决,一是使用SQL_NO_CACHE参数来强制它不使用Query Cache,每次都直接从实际数据中去查找,另一种方法是通过设定“query_cache_limit”参数值来控制Query Cache中所缓存的最大Result Set,系统默认为1MB(1 048 576)。当某个Query的Result Set大于“query_cache_limit”所设定的值时,QueryCache是不会缓存这个Query的

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

程序猿是如何解决SQLServer占CPU100%的

文章目录 遇到的问题 使用SQLServer Profiler监控数据库 SQL1:查找最新的30条告警事件 SQL2:获取当前的总报警记录数 有哪些SQL语句...

3748
来自专栏杨建荣的学习笔记

sqlldr批量导入导出数据测试(86天)

sqlldr是在处理大数据量的操作中建议采用的方式,它有许多性能想关的开关,能最大程度的减少redo,undo的生成,控制数据的处理方式(insert,appe...

4449
来自专栏乐沙弥的世界

使用 DBMS_PROFILER 定位 PL/SQL 瓶颈代码

      对于SQL的优化,可以借助于SQL tuning advisor实现自动SQL优化与调整。而对于PL/SQL代码而言,既有SQL代码,又有PL/SQ...

751
来自专栏维C果糖

史上最简单的 MySQL 教程(十四)「列属性 之 主键」

主键:primary key,表中主要的键,每张表只能有一个字段(复合主键,可以多个字段)使用此属性,用来唯一的约束该字段里面的数据,不能重复。

43911
来自专栏乐沙弥的世界

MySQL 慢查询日志(Slow Query Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日...

1402
来自专栏SpringBoot 核心技术

第四章:使用QueryDSL与SpringDataJPA实现多表关联查询

4533
来自专栏运维小白

Linux基础(day55)

13.4 mysql用户管理 mysql用户管理目录概要 grant all on . to 'user1' identified by 'passwd'; g...

21110
来自专栏idba

MySQL 5.7 新特性之三

本系列文章基于5.7.20 版本讲述MySQL的新特性,从安装,文件结构,SQL,优化,复制等几个方面展开介绍5.7 的新特性和功能,同时也建议大家跟踪官方bl...

932
来自专栏H2Cloud

游戏服务器ID生成器组件

游戏服务器程序中,经常需要生成全局的唯一ID号,这个功能很常用,本文将介绍一种通用ID生成组件。游戏服务器程序中使用此组件的场景有:  创建角色时,为其分配唯一...

5628
来自专栏运维技术迷

连仕彤博客Mysql数据库归档利器之pt-archiver

2356

扫码关注云+社区

领取腾讯云代金券