专栏首页性能与架构Mysql Query Cache的基本原理

Mysql Query Cache的基本原理

Query Cache是根据SQL语句来cache的,一个SQL查询如果以select开头,那么MySQL将尝试对其进行缓存

每个Cache都是以完整的SQL语句作为key来存的,两个SQL语句,只要相差哪怕是一个字符(例如大小写不一样;多一个空格等),那么这两个SQL将使用不同的一个CACHE

无法缓存的情况 1)查询语句中加了SQL_NO_CACHE参数 2)查询语句中含有获得值的函数,包涵自定义函数,如:CURDATE()、GET_LOCK()、RAND()、CONVERT_TZ等 3)对系统数据库的查询:mysql、information_schema 4)查询语句中使用SESSION级别变量或存储过程中的局部变量 5)查询语句中使用了锁 LOCK IN SHARE MODE、FOR UPDATE的语句 6)查询语句中类似SELECT …INTO 导出数据的语句 7)对临时表的查询操作 8)存在警告信息的查询语句 9)不涉及任何表或视图的查询语句 10)某用户只有列级别权限的查询语句

本文分享自微信公众号 - 性能与架构(yogoup),作者:杜亦舒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-10-20

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 服务器被入侵的教训

    今天一台服务器突然停了,因为是阿里云的服务器,赶紧去阿里云查看,发现原因是阿里云监测到这台服务器不断向其他服务器发起攻击,便把这台服务器封掉了 明显是被入侵做...

    dys
  • mysql 执行状态分析

    当感觉mysql性能出现问题时,通常会先看下当前mysql的执行状态,使用 show processlist 来查看,例如 mysql> show proces...

    dys
  • nginx 负载均衡

    例如目前有两台服务器,一个nginx服务器,一个web服务器(例如tomcat),nginx负责把所有请求转发到web服务器 ? 配置如下 server { ...

    dys
  • 8种最坑的SQL错误用法,第一个就很坑?

    分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time...

    JAVA葵花宝典
  • 8种最坑的SQL错误用法,第一个就很坑?

    作者:程序员追风 链接:https://juejin.im/post/5dd15451e51d453b3d3d4329

    用户2769421
  • 【每日一摩斯】-Shared Pool优化和Library Cache Latch冲突优化 (1523934.1)-系列1

           Oracle的实例主要包括共享内存(主要是SGA,还有PGA)和Background Processes,其中SGA中又包括了Shared Poo...

    bisal
  • 程序流程结构-选择结构

    3 种循环都可以使用 continue 语句。执行到该语句时,会跳过本次迭代的剩余部分,并开始下一轮 迭代。如果 continue 语句在嵌套循环内,则只会影响...

    mcxfate
  • 关于字符串为空的几个性能测试

      string.Empty是一个Static的属性,使用时不分配存储空间,而在用""时,系统会分配一个长度为空的存储空间。不过编译系统应该会优化,也就是说,比...

    小老鼠
  • 硬件描述语言VHDL——顺序语句

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.ne...

    zy010101
  • 3.3 选择的嵌套和switch多分支

    闫小林

扫码关注云+社区

领取腾讯云代金券