mysql query_cache_min_res_unit的最小值

时间:2015-04-08 18:28:12

标签: mysql performance caching

我试图将查询缓存添加到我的MySQL数据库中。但似乎我的查询结果太小而无法缓存,因此我尝试将query_cache_min_res_unit更改为极低值(如1)以测试是否会创建缓存。我发现最小值是512字节(这就是当我尝试将其设置为1时设置的值),有没有办法改变这个最小值?

1 个答案:

答案 0 :(得分:0)

QC中的内存分配很笨拙。你不能低于512。

你真的需要QC吗?请记住,每次写入表都会清除该表的QC中的每个条目。

计算这些:

Qcache_free_blocks * 4096 / query_cache_size  -- fragmentation
Qcache_total_blocks * query_cache_min_res_unit / Qcache_queries_in_cache -- estimate of query size
(query_cache_size - Qcache_free_memory) / Qcache_queries_in_cache / query_alloc_block_size
Qcache_hits / (Qcache_hits + Com_select) -- hit ratio
Qcache_hits / Qcache_inserts  -- >10 is good

query_cache_size的最大实际尺寸为50M。更重要的是,“修剪”将消耗太多的CPU。