Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

query_cache_* 会话设置

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

query_cache_compress_entries

类型
Bool
默认值
1

压缩查询缓存中的条目。这样可以减少查询缓存的内存占用,但代价是向其中插入数据和从中读取数据都会变慢。

可能的值:

  • 0 - 已禁用
  • 1 - 已启用

query_cache_for_subqueries

类型
Bool
默认值
0
版本历史
版本默认值注释
26.50用于启用将 `use_query_cache` 传递到所有子查询的新设置。若未启用,子查询仅会在显式为该子查询设置 `SETTINGS use_query_cache = true` 时才会被缓存。

启用后,子查询结果可以写入并从查询缓存中读取。这会将 use_query_cache 传递到所有子查询。

可能的值:

  • 0 - 已禁用
  • 1 - 已启用

query_cache_max_entries

类型
UInt64
默认值
0

当前用户可在查询缓存中存储的查询结果的最大条目数。0 表示不受限制。

可能的值:

  • 大于等于 0 的正整数。

query_cache_max_size_in_bytes

类型
UInt64
默认值
0

当前用户可在查询缓存中分配的最大内存量 (以字节为单位) 。0 表示不受限制。

可选值:

  • 大于或等于 0 的整数。

query_cache_min_query_duration

类型
毫秒
默认值
0

查询至少需要运行多长时间 (以毫秒为单位) ,其结果才会被存储到查询缓存中。

可能的值:

  • 大于等于 0 的整数。

query_cache_min_query_runs

类型
UInt64
默认值
0

SELECT 查询的结果在存入 查询缓存 之前,至少需要运行的次数。

可能的值:

  • 大于等于 0 的整数。

query_cache_nondeterministic_function_handling

类型
QueryResultCacheNondeterministicFunctionHandling
默认值
throw

控制查询缓存如何处理包含 rand()now() 等非确定性函数的 SELECT 查询。

可选值:

  • 'throw' - 抛出异常,并且不缓存查询结果。
  • 'save' - 缓存查询结果。
  • 'ignore' - 不缓存查询结果,也不抛出异常。

query_cache_share_between_users

类型
Bool
默认值
0

启用后,缓存在 查询缓存 中的 SELECT 查询结果可供其他用户读取。 基于安全考虑,不建议启用此设置。

可能的值:

  • 0 - 已禁用
  • 1 - 已启用

query_cache_squash_partial_results

类型
Bool
默认值
1

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

可能的值:

  • 0 - 已禁用
  • 1 - 已启用

query_cache_system_table_handling

类型
QueryResultCacheSystemTableHandling
默认值
throw
版本历史
版本默认值注释
24.4throw查询缓存不再缓存针对系统表的查询结果

控制查询缓存在处理针对系统表的 SELECT 查询时的行为,即针对 system.*information_schema.* 数据库中表的查询。

可选值:

  • 'throw' - 抛出异常,并且不缓存查询结果。
  • 'save' - 缓存查询结果。
  • 'ignore' - 不缓存查询结果,也不抛出异常。

query_cache_tag

版本历史
版本默认值注释
24.8用于为查询缓存设置添加标签的新设置。

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

可能的值:

  • 任意字符串

query_cache_ttl

类型
Seconds
默认值
60

超过此秒数后,查询缓存中的条目将过期。

可选值:

  • 正整数 >= 0。
Navigation