Skip to main content
这些设置可在 system.settings 中查看,并由 源代码 自动生成。

query_cache_compress_entries

压缩查询缓存中的条目。这样可以减少查询缓存的内存占用,但代价是向其中插入数据和从中读取数据都会变慢。 可能的值:
  • 0 - 已禁用
  • 1 - 已启用

query_cache_for_subqueries

启用后,子查询结果可以写入并从查询缓存中读取。这会将 use_query_cache 传递到所有子查询。 可能的值:
  • 0 - 已禁用
  • 1 - 已启用

query_cache_max_entries

当前用户可在查询缓存中存储的查询结果的最大条目数。0 表示不受限制。 可能的值:
  • 大于等于 0 的正整数。

query_cache_max_size_in_bytes

当前用户可在查询缓存中分配的最大内存量 (以字节为单位) 。0 表示不受限制。 可选值:
  • 大于或等于 0 的整数。

query_cache_min_query_duration

查询至少需要运行多长时间 (以毫秒为单位) ,其结果才会被存储到查询缓存中。 可能的值:
  • 大于等于 0 的整数。

query_cache_min_query_runs

SELECT 查询的结果在存入 查询缓存 之前,至少需要运行的次数。 可能的值:
  • 大于等于 0 的整数。

query_cache_nondeterministic_function_handling

控制查询缓存如何处理包含 rand()now() 等非确定性函数的 SELECT 查询。 可选值:
  • 'throw' - 抛出异常,并且不缓存查询结果。
  • 'save' - 缓存查询结果。
  • 'ignore' - 不缓存查询结果,也不抛出异常。

query_cache_share_between_users

启用后,缓存在 查询缓存 中的 SELECT 查询结果可供其他用户读取。 基于安全考虑,不建议启用此设置。 可能的值:
  • 0 - 已禁用
  • 1 - 已启用

query_cache_squash_partial_results

将部分结果块合并成大小为 max_block_size 的块。这样会降低向查询缓存插入数据的性能,但能提升缓存条目的压缩效果 (参见 query_cache_compress-entries) 。 可能的值:
  • 0 - 已禁用
  • 1 - 已启用

query_cache_system_table_handling

控制查询缓存在处理针对系统表的 SELECT 查询时的行为,即针对 system.*information_schema.* 数据库中表的查询。 可选值:
  • 'throw' - 抛出异常,并且不缓存查询结果。
  • 'save' - 缓存查询结果。
  • 'ignore' - 不缓存查询结果,也不抛出异常。

query_cache_tag

一个字符串,用作查询缓存条目的标签。 对于相同的查询,如果标签不同,查询缓存会将其视为不同的查询。 可能的值:
  • 任意字符串

query_cache_ttl

超过此秒数后,查询缓存中的条目将过期。 可选值:
  • 正整数 >= 0。
最后修改于 2026年7月23日