gpt4 book ai didi

mysql - 使用 MySql 将最大记录存储在 query_cache 中

转载 作者:行者123 更新时间:2023-11-30 22:15:54 25 4
gpt4 key购买 nike

我有一个包含 400 000 条记录的产品表。

在我的服务器上,我启用了 query_cache_type。现在已经开启,但我没有获得更好的性能。

有没有办法可以增加缓存中可以存储的记录数?我已经将 query_cache_limit 设置为 1 024 000,将 query_cache_size 设置为 2 048 000。

下面是我的查询缓存配置。

binlog_rows_query_log_events    OFF
ft_query_expansion_limit 20
have_query_cache YES
long_query_time 10.000000
query_alloc_block_size 8192
query_cache_limit 1024000
query_cache_min_res_unit 4096
query_cache_size 2048000
query_cache_type ON
query_cache_wlock_invalidate OFF
query_prealloc_size 8192
slow_query_log OFF
slow_query_log_file /rdsdbdata/log/slowquery/mysql-slowquery.log

是否需要任何修改?我有 400 000 条记录要存储在缓存中。

最佳答案

configuration 中最相关的变量包括:

  • have_query_query : 它仅报告服务器二进制文件是否已使用查询缓存模块进行编译。

  • query_cache_size : 它用于禁用缓存 (0) 或设置其最大大小(字节数是 1024 的倍数)。您有 2048000,这意味着 1,9 MB。您应该将其增加到几十 MB(不要更多,通常有几百 MB 是不好的)。

  • query_cache_limit防止缓存大型数据集(这是缓存结果的上限,以字节为单位)。您的默认值为 1024000 (1MB),我想这没问题。

  • query_cache_min_res_unit是缓存 block 的最小大小(以字节为单位)。您有默认的 4096 字节值,应该可以启动。如果您碰巧有很多小尺寸的查询,您可以减少它。

...最后但同样重要的是:

  • > query_cache_type :它确定要缓存的查询并允许提供一种暂时禁止缓存的方法。您有默认值 ON,这意味着缓存所有可缓存的查询结果,但以 SELECT SQL_NO_CACHE 开头的查询结果除外。

您还可以检查 Qcache_... 状态变量以了解事情的进展情况:

SHOW STATUS LIKE 'Qcache%';

关于mysql - 使用 MySql 将最大记录存储在 query_cache 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38303497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com