最近在帮人调优MYSQL时,感觉mysql的query cache其实并不是越大越好的,
因为其实当数据表有如下变化时,CACHE实际时失效的:
包括: INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP TABLE, or DROP DATABASE等
所以如果表是频繁读的话,那对query cache调整下还可以,否则还是没怎么作用的.
附调整参数:
Query Cache相关参数:
query_cache_size QC占用空间大小,通过将其设置为0关闭QC功能
query_cache_type 0表示关闭QC;1表示正常缓存;2表示SQL_CACHE才缓存
query_cache_limit 最大缓存结果集
query_cache_min_res_unit 手册上说,QC会按照这个值分配缓存block的大小。
Qcache_lowmem_prunes 这是一个状态变量(show status),当缓存空间不够需要释放旧的缓存时,该值会自增。
因为其实当数据表有如下变化时,CACHE实际时失效的:
包括: INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP TABLE, or DROP DATABASE等
所以如果表是频繁读的话,那对query cache调整下还可以,否则还是没怎么作用的.
附调整参数:
Query Cache相关参数:
query_cache_size QC占用空间大小,通过将其设置为0关闭QC功能
query_cache_type 0表示关闭QC;1表示正常缓存;2表示SQL_CACHE才缓存
query_cache_limit 最大缓存结果集
query_cache_min_res_unit 手册上说,QC会按照这个值分配缓存block的大小。
Qcache_lowmem_prunes 这是一个状态变量(show status),当缓存空间不够需要释放旧的缓存时,该值会自增。