【问题标题】:What is query_cache_min_res_unit in mysql mariadb?什么是 mysql mariadb 中的 query_cache_min_res_unit?
【发布时间】:2017-07-09 08:56:53
【问题描述】:

什么是 query_cache_min_res_unit 设置查询缓存时 mysql 中的选项。另外,我在互联网上阅读有关 query_cache_min_res_unit 的信息时看到了一个词 block,但我不明白那个 block 词是什么意思。

谁能用简单明了的话告诉我这两个是什么意思,在哪里以及为什么使用这两个?

【问题讨论】:

    标签: mysql sql innodb mariadb


    【解决方案1】:

    看看这里: https://mariadb.com/kb/en/mariadb/query-cache/

    上面写着:

    限制查询缓存大小的主要方法有两种。第一的, 以字节为单位的总大小由 query_cache_size 服务器确定 多变的。各种查询缓存结构大约需要 40KB。

    查询缓存大小以 1024 字节块为单位分配,因此它应该 设置为 1024 的倍数。

    查询结果使用最小块大小存储 query_cache_min_res_unit。 检查两个条件以使用良好的值 这个变量:查询缓存插入带锁的结果块,每个新的 块插入锁查询缓存,小值会增加锁和 碎片化并为小结果浪费更少的内存,一个大的价值 会增加内存使用,浪费更多内存以获得小的结果,但它 减少锁。测试您的工作负载以微调此变量。

    【讨论】:

    • 请不要分享我已经检查过所有互联网的任何链接,正如我已经提到的问题。如果您知道这个问题,请用您自己简单的话回答,否则请不要从任何网站复制和粘贴任何内容。
    【解决方案2】:

    与其回答这个问题,我会建议答案是没有实际意义的......

    不要将查询缓存用于严肃的生产站点。 任何 写入表会导致清除该表的 QC 中的 所有 条目。出于这个原因,一个拥有大量写入的网站很少使用 QC。

    而且,我将针对真正的问题进行测试...由于没有好的指标(在SHOW GLOBAL STATUS 中)来判断query_cache_min_res_unit 是太大还是太小,所以最好不要管它。

    【讨论】:

      【解决方案3】:

      BLOCK 指本例中的字节数。

      query_cache_min_res_unit 是为存储在查询缓存结果中的每个结果保留的最小字节数。

      经过4年的实际生产使用,512在我支持的应用中运行良好。

      【讨论】:

        【解决方案4】:

        我一直在寻找一个简单的解释,最终想出了:

        默认值1024 bytes 表示,例如,如果查询大小为10 bytes,它将占用query_cache_size1024 bytes,这是一种浪费,因为您可以将其保存在例如64 byes 块中。

        但是如果为此创建64 bytes 块并且查询大小为2000 bytes,那么您将创建31 个64 bytes 块以将2000 bytes 查询存储在缓存中,它会增加碎片...

        因此您必须尝试使用​​该数字才能为您的应用找到最佳价值。

        根据文档this 将帮助您微调此设置:

        SHOW STATUS LIKE 'Qcache%';
        +-------------------------+----------+
        | Variable_name           | Value    |
        +-------------------------+----------+
        | Qcache_free_blocks      | 1158     |
        | Qcache_free_memory      | 3760784  |
        | Qcache_hits             | 31943398 |
        | Qcache_inserts          | 42998029 |
        | Qcache_lowmem_prunes    | 34695322 |
        | Qcache_not_cached       | 652482   |
        | Qcache_queries_in_cache | 4628     |
        | Qcache_total_blocks     | 11123    |
        +-------------------------+----------+
        

        【讨论】:

          猜你喜欢
          • 2011-01-14
          • 2021-08-23
          • 2015-06-13
          • 1970-01-01
          • 2023-01-22
          • 1970-01-01
          • 1970-01-01
          • 2019-05-28
          • 2016-03-13
          相关资源
          最近更新 更多