mysql查询缓存总结

/*

名称解释

sql_cache    查询结果存入缓存(当query_cache_type=DEMAND时有效)

sql_no_cache 查询结果不存入缓存

query_cache_size  表示缓存的大小

query_cache_type  查询缓存会话类型(0=OFF关闭查询缓存1=ON开启2=DEMAND手动通过sql_cache和sql_no_cache控制)

query_cache_limit 指定单个查询能够缓存的最大查询结果

query_cache_min_res_unit 为系统分配的最小缓存块大小,默认是4KB,这个值的大小和碎片的产生有直接关系

query_cache_wlock_invalidate ON/OFF当查询表被锁住时,如果查询命中缓存,是否还能直接返回命中结果

 */

 /*当前查询缓存配置情况*/

SHOW VARIABLES LIKE '%query_cache%'


/*

重置查询缓存*/

RESET QUERY CACHE

/*查询缓存碎片整理*/

FLUSH QUERY CACHE


 /*

 当前查询缓存情况 

Qcache_free_blocks:缓存中相邻内存块的个数。数目大说明可能有碎片。FLUSH QUERY CACHE会对缓存中的碎片进行整理,从而得到一个空闲块。 

Qcache_free_memory:缓存中的空闲内存。 

Qcache_hits:每次查询在缓存中命中时就增大 

Qcache_inserts:每次插入一个查询时就增大。命中次数除以插入次数就是不中比率。 

Qcache_lowmem_prunes:缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数。这个数字最好长时间来看;如果这个 数字在不断增长,就表示可能碎片非常严重,或者内存很少。(上面的 free_blocks和free_memory可以告诉您属于哪种情况) 

Qcache_not_cached:不适合进行缓存的查询的数量,通常是由于这些查询不是 SELECT 语句或者用了now()之类的函数。 

Qcache_queries_in_cache:当前缓存的查询(和响应)的数量。 

Qcache_total_blocks:缓存中块的数量。  

 */

SHOW STATUS LIKE 'qcache%' 


你可能感兴趣的:(mysql)