全部博文(930)
分类: Mysql/postgreSQL
2011-02-16 19:46:23
如果你的应用对数据库的更新很少,那么QC将会作用显著。比较典型的如博客系统,一般博客更新相对较慢,数据表相对稳定不变,这时候QC的作用会比较明显。
再如,一个更新频繁的BBS系统。下面是一个实际运行的论坛数据库的状态参数:
可以通
mysql> show status like '%Cache%'; 来查看cache配置是否合理
QCache_hit | 5280438 |
QCache_insert | 8008948 |
Qcache_not_cache | 95372 |
Com select | 8104159 |
可以看到,数据库一共往QC中写入了约800W次缓存,但是实际命中的只有约500W次。也就是说,每一个缓存的使用率约为0.66次。很难说,该缓存的作用是否大于QC系统所带来的开销。但是有一点是很肯定的,QC缓存的作用是很微小的,如果应用层能够实现缓存,将可以忽略QC的效果。
-------------下面是关于QC的一些其他细节-----------------
一、Query Cache相关参数:
二、Query Cache观察:
CREATE TABLE t1(id INT,var1 varchar(10)); //Com_select:8 Qcache_hits:1 INSERT INTO t1 VALUES(1,’WWW’); //Com_select:8 Qcache_hits:1 SELECT * FROM t1 WHERE id=1; //Com_select:9 Qcache_hits:1 SELECT * FROM t1 WHERE id=1; //Com_select:9 Qcache_hits:2 Qcache_queries_in_cache:1 INSERT INTO t1 VALUES(2,’RRRR’); //Com_select:9 Qcache_hits:2 Qcache_queries_in_cache:0 SELECT * FROM t1 WHERE id=1; //INSERT后Cache失效 //Com_select:10 Qcache_hits:2 Qcache_queries_in_cache:1参考:
(全文完)