MySQL使用query cache缓存简单使用教程

1. query cache的key是sql字符串,并且要求精确匹配:大小写不一样或者多了一个空格,都会导致cache miss

2. query cache直接把用户输入的原始sql作为key, 不是把解析后或优化后的sql作为key,也不会把其中的子查询独立缓存

2. 存储过程中的sql结果不会被缓存

3. 如果一个sql会产生不确定的结果(即使表中数据没有变化也会不确定),比如select now(), MySQL就不会缓存它的结果

4. 只要表中数据有任何变化,就会导致本表相关的所有query cache统统失效

时间: 2024-09-20 05:52:26

MySQL使用query cache缓存简单使用教程的相关文章

MySQL的Query Cache原理分析_Mysql

原理 QueryCache(下面简称QC)是根据SQL语句来cache的.一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用QC.每个Cache都是以SQL文本作为key来存的.在应用QC之前,SQL文本不会被作任何处理.也就是说,两个SQL语句,只要相差哪怕是一个字符(例如大小写不一样:多一个空格等),那么这两个SQL将使用不同的一个CACHE. 不过SQL文本有可能会被客户端做一些处理.例如在官方的命令行客户端里,在发送SQL给服务器之前,会做如下处理:  过滤所有注释

Drupal7 cache缓存开发入门教程

使用Drupal构建复杂而动态的内容是件很容易的事情.但是稍有不慎,你会为这种容易付出代价.在用户查看某些复杂而动态的页面的时候,复杂的数据库查询,与高花销的计算会导致页面性能方面的问题. 解决方案之一是在Druapl的后台页面开启页面缓存.页面缓存开启后,可以在某些页面极大的降低数据库查询次数从而提高页面性能.但是这有一定的局限性,就是页面缓存仅仅对匿名用户有效.对应登录用户则会生效. 逐渐的,你可能会分析自己写过的代码,找出数据出查询的热点进行缓存优化.幸运的是,Drupal已经内置了一些缓

【转载】MySQL Query Cache 小结

      最近经常有人问我 MySQL Query Cache 相关的问题,就整理一点 MySQL Query Cache 的内容,以供参考.       顾名思义,MySQL Query Cache 就是用来缓存和 Query 相关的数据的.具体来说,Query Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集.大概来讲,就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中.       在大部分的 MySQL

mysql query cache用法与性能详细介绍

mysql Query Cache 默认为打开.从某种程度可以提高查询的效果,但是未必是最优的解决方案,如果有的大量的修改和查询时,由于修改造成的cache失效,会给服务器造成很大的开销,可以通过query_cache_type[0(OFF)1(ON)2(DEMAND)]来控制缓存的开关. 需要注意的是mysql query cache 是对大小写敏感的,因为Query Cache 在内存中是以 HASH 结构来进行映射,HASH 算法基础就是组成 SQL 语句的字符,所以 任何sql语句的改变

转贴一个有关MYSQL的文章.E文的.MySQLs Query Cache

cache|mysql A typical scenarioBoss: Our new website is crawling! How can it be, we have four state-of-the-art web servers - what's the problem?You: Well, the web servers are fine - it's the database server that's struggling.Boss: What? You told me th

pgpool-II 3.2 coming soon, get cool feature with it, on memory query cache and Built in HA

Almost one year worth of development, pgpool-II 3.2 release is getting closer. This version has two major new features: On memory query cache Built in HA On memory query cache is similar to MySQL's query cache.  Caching query SELECT query results by

MySQL 缓存 Query Cache

过滤所有注释 去掉SQL文本前後的空格,TAB等字符.注意,是文本前面和後面的.中间的不会被去掉. 下面的三条SQL里,因 为SELECT大小写的关系,最後一条和其他两条在QC里肯定是用的不一样的存储位置.而第一条和第二条,区别在于後者有个注释,在不同客户端,会有不一 样的结果.所以,保险起见,请尽量不要使用动态的注释.在PHP的mysql教程扩展里,SQL的注释是不会被去掉的.也就是三条SQL会被存储在三个不同的 缓存里,虽然它们的结果都是一样的. select * FROM people w

MySQL DBA教程:Mysql性能优化之缓存参数优化_Mysql

数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO.本文先从 MySQL 数据库IO相关参数(缓存参数)的角度来进行IO优化: 一.query_cache_size/query_cache_type (global)    Query cache 作用于整个 MySQL Inst

MySQL Query Cache导入查询缓慢解决办法

进mysql:SHOW FULL PROCESSLIST; Command多为Sleep,客户端过来的连接倒也正常,重复执行上述命令发现有些Command的状态为"Coping to tmp table",果断打开my.cnf发现并无tmp_table_size的设置,MySQL环境是使用yum安装,这也是为什么要编译MySQL的缘故 mysql> SHOW VARIABLES LIKE 'tmp_table_size'; +----------------+----------