【问题标题】:minimum value for mysql query_cache_min_res_unitmysql query_cache_min_res_unit 的最小值
【发布时间】:2015-06-13 21:03:58
【问题描述】:

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

【问题讨论】:

    标签: mysql performance caching


    【解决方案1】:

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 2021-06-02
      • 2011-11-27
      • 2010-10-21
      • 2013-07-25
      相关资源
      最近更新 更多