Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

use_* 会话设置

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

use_async_executor_for_materialized_views

类型
Bool
默认值
0
版本历史
版本默认值注释
24.120新增设置。

使用异步以及可能的多线程方式执行 materialized view 查询,可在 INSERT 期间加快视图处理,但也会占用更多内存。

use_cache_for_count_from_files

类型
Bool
默认值
1

启用在对表函数 file/s3/url/hdfs/azureBlobStorage 中的文件执行 count 时缓存行数。

默认启用。

use_client_time_zone

类型
Bool
默认值
0

使用客户端时区来解析 DateTime 字符串值,而不是使用服务器时区。

use_compact_format_in_distributed_parts_names

类型
Bool
默认值
1
版本历史
版本默认值注释
21.11默认对写入分布式表的异步 INSERT 使用紧凑格式

对于使用 Distributed 引擎的表,后台 (distributed_foreground_insert) INSERT 在存储块时使用紧凑格式。

可能的值:

  • 0 — 使用 user[:password]@host:port#default_database 目录格式。
  • 1 — 使用 [shard{shard_index}[_replica{replica_index}]] 目录格式。

use_concurrency_control

类型
Bool
默认值
1
版本历史
版本默认值注释
24.121默认启用并发控制

遵守服务器的并发控制 (参见全局服务器设置 concurrent_threads_soft_limit_numconcurrent_threads_soft_limit_ratio_to_cores) 。如果禁用,即使服务器已过载,也允许使用更多线程 (不建议在正常使用场景下这样做,通常仅测试时才需要) 。

use_constant_folding_in_index_analysis

类型
Bool
默认值
0
版本历史
版本默认值注释
26.70新增设置:在 MergeTree 索引分析期间,将分区级常量按每个 分片 折叠到过滤谓词中,从而改进对分支依赖分区值的过滤器的剪枝效果。

在按每个 分片 分析主键和跳过索引时,将分区级常量代入过滤谓词。

当分区键与主键列或跳过索引列同时出现在过滤器中时,这会让索引分析在每个 分片 内分别折叠分区值。它对各个分支分别针对不同分区的析取过滤器尤其有用。例如,在使用 PARTITION BY aORDER BY b 时:

SELECT * FROM t WHERE (a = 1 AND b >= 1) OR (a = 2 AND b > 10) OR (a = 3 AND b > 10)

对于分区 a = 1 中的分片,条件可折叠为 b >= 1;而对于分区 a = 2a = 3 中的分片,则可折叠为 b > 10,因此会根据实际适用于每个分片的谓词分别进行分析。

可选值:

  • 0 — 禁用。
  • 1 — 启用。

use_hash_table_stats_for_join_reordering

类型
Bool
默认值
1
版本历史
版本默认值注释
26.11新设置。此前与 'collect_hash_table_stats_during_joins' 设置保持一致。

启用在 JOIN 重排序期间使用已收集的哈希表统计信息进行基数估算

use_hedged_requests

类型
Bool
默认值
1
版本历史
版本默认值注释
21.91默认启用 Hedged Requests 功能

启用远程查询的 hedged requests 逻辑。这样在执行查询时,可以与不同副本建立多个连接。 如果与副本的现有连接未能在 hedged_connection_timeout 内建立, 或在 receive_data_timeout 内未收到任何数据,则会启用新连接。查询会使用第一个发送非空 Progress packet 的连接 (或者在 allow_changing_replica_until_first_data_packet 的情况下,使用第一个发送 data packet 的连接) ; 其他连接会被取消。支持 max_parallel_replicas > 1 的查询。

默认启用。

Cloud 默认值:0

use_hive_partitioning

类型
Bool
默认值
1
版本历史
版本默认值注释
25.11默认启用此设置。
24.80允许在 File、URL、S3、AzureBlobStorage 和 HDFS 引擎中使用 Hive 风格分区。

启用后,ClickHouse 会在类文件表引擎 File/S3/URL/HDFS/AzureBlobStorage 的路径 (/name=value/) 中检测 Hive 风格分区,并允许在查询中将分区列作为虚拟列使用。这些虚拟列的名称与分区路径中的名称相同,但会以下划线 _ 开头。

use_indexes_refiner_in_read_pools

类型
Bool
默认值
0
版本历史
版本默认值注释
26.80新增设置:在 MergeTree 读取池中创建读取任务前,丢弃被跳过索引或投影索引完全筛除的标记范围。

将数据读取时已评估的索引应用于 MergeTree 读取池内部:对于被跳过索引 (请参阅 use_skip_indexes_on_data_read) 或投影索引 (请参阅 optimize_use_projection_filtering) 完全筛除的标记范围,会在创建读取任务前将其丢弃,而非在读取过程中逐粒度跳过。

在预拉取读取池中,被丢弃的范围不会被预拉取。但任务边界以及由 filesystem_prefetch_max_memory_usage / filesystem_prefetches_limit 控制的预拉取准入仍会在筛选前确定,因此在高选择性过滤条件下,保留下来的任务可能小于预期任务大小,准入也可能较为保守。

use_join_disjunctions_push_down

类型
Bool
默认值
1
版本历史
版本默认值注释
26.11启用此优化。
25.100新增设置。

启用将 JOIN 条件中由 或 连接的各部分下推到对应输入侧 (“部分下推”) 。 这样可使存储引擎更早执行过滤,从而减少读取的数据量。 该优化不会改变语义,并且仅在每个顶层 或 分支都至少为目标侧提供一个确定性 谓词时才会应用。

use_legacy_to_time

类型
Bool
默认值
0
版本历史
版本默认值注释
26.70默认使用新的 `toTime` 函数(将值转换为 `Time` 数据类型),而不是旧版 `toTime`(后者仍可通过 `toTimeWithFixedDate` 使用)。
25.61新增设置。允许用户对 `toTime` 使用旧版函数逻辑,其行为与 `toTimeWithFixedDate` 相同。

启用后,名称 toTime 指的是旧版 toTime 函数, 该函数会将日期时间转换为某个固定日期,同时保留时间部分。 否则,该名称指的是新的 toTime 函数, 该函数会将不同类型的值转换为 Time 类型。

无论此设置如何,旧版函数始终可通过 toTimeWithFixedDate 访问。 启用此设置时,请使用 CAST(x AS Time)x::Time 转换为 Time 类型。

use_lightweight_primary_key_index_analysis

类型
Bool
默认值
1
版本历史
版本默认值注释
26.61新增设置,用于优化具有较长主键的表的主键索引分析

优化具有较长主键的 MergeTree 表的主键索引分析。

启用后,索引分析的运行时间主要取决于查询过滤器的复杂度 (即实际使用到的键列) ,而不是主键长度。因此,对于只按其中少数列进行过滤的查询,扩展排序键几乎不会给索引分析带来额外开销。

可能的值:

  • 0 — 已禁用。索引分析期间会处理所有主键列。
  • 1 — 已启用。

use_parquet_metadata_cache

类型
Bool
默认值
1
版本历史
版本默认值注释
26.31启用 Parquet 文件元数据缓存。

如果启用,Parquet 格式可使用 Parquet 元数据缓存。

可能的值:

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

use_primary_key

类型
Bool
默认值
1
版本历史
版本默认值注释
26.11用于控制 MergeTree 是否使用主键进行粒度级剪枝的新设置。

在查询执行期间,使用主键对 MergeTree 表的粒度进行剪枝。

可能的值:

  • 0 — 已禁用。
  • 1 — 已启用。

use_reader_executor

Experimental 功能
类型
Bool
默认值
0
版本历史
版本默认值注释
26.60新增 Experimental 设置:将读取通过新的管道 `ReaderExecutor` 进行路由,而不是使用传统的多层读取缓冲区嵌套结构。

实验性功能。将读取通过新的管道 ReaderExecutor 进行路由,而不是使用传统的多层读取缓冲区嵌套结构。对于执行器尚未支持的配置,会回退到传统路径。

use_roaring_bitmap_iceberg_positional_deletes

类型
Bool
默认值
0
版本历史
版本默认值注释
25.80新增设置

对 Iceberg 位置删除使用 roaring bitmap。

use_streaming_marks_compression

类型
Bool
默认值
0
版本历史
版本默认值注释
26.70新增设置:将 marks 逐块(流式)压缩为内存中的表示,而不是先物化完整的原始 marks 数组,从而在为包含许多 substreams 的 compact 分片 加载 marks 时降低峰值内存占用。

在为 MergeTree 分片 加载 marks 时,将其逐块 (流式) 压缩为内存中的表示,而不是先物化完整的原始 marks 数组。这会显著降低为包含许多 substreams 的 compact 分片 加载 marks 时的峰值内存占用 (例如包含 JSON 列且启用了 write_marks_for_substreams_in_compact_parts 的表) 。

use_strict_insert_block_limits

类型
Bool
默认值
0
版本历史
版本默认值注释
26.40新增设置,用于在插入时严格应用最小和最大插入边界。当 min < max 时,max 限制具有优先次序。

启用后,会严格执行最小和最大插入块大小限制。

在以下情况下会输出一个块:

  • 最小阈值 (与) :同时达到 min_insert_block_size_rows AND min_insert_block_size_bytes。
  • 最大阈值 (或) :达到 max_insert_block_size_rows 或 max_insert_block_size_bytes 中任意一个。

禁用后,在以下情况下会输出一个块:

  • 最小阈值 (或) :达到 min_insert_block_size_rows 或 min_insert_block_size_bytes 中任意一个。

:如果 max 设置小于 min 设置,则 max 限制具有优先次序,块会在达到最小阈值之前输出。

:对于异步插入,此设置会自动禁用,因为异步插入会为每个条目附加去重标记,而这与执行严格限制所需的块拆分不兼容。

默认禁用。

use_structure_from_insertion_table_in_table_functions

类型
UInt64
默认值
2
版本历史
版本默认值注释
22.112改进在表函数中使用插入表结构的功能

使用插入表的结构,而不是根据数据自动推断 schema。可选值:0 - 禁用,1 - 启用,2 - 自动

use_uncompressed_cache

类型
Bool
默认值
0

是否使用未压缩块缓存。可选值为 0 或 1。默认值为 0 (禁用) 。 使用未压缩缓存 (仅适用于 MergeTree 家族中的表) 可以在处理大量短查询时显著降低延迟并提高吞吐量。对于频繁发送短请求的用户,建议启用此设置。同时还要注意 uncompressed_cache_size 配置参数 (只能在配置文件中设置) ——它指定未压缩缓存块的大小。默认值为 8 GiB。未压缩缓存会按需填充,并自动删除使用频率最低的数据。

对于读取的数据量较大的查询 (100 万行或更多) ,系统会自动禁用未压缩缓存,以便为真正的小查询节省空间。这意味着你可以始终将 use_uncompressed_cache 设为 1。

use_with_fill_by_sorting_prefix

类型
Bool
默认值
1
版本历史
版本默认值注释
23.51在 ORDER BY 子句中,位于 WITH FILL 列之前的列构成排序前缀。对于排序前缀值不同的行,将分别独立填充

在 ORDER BY 子句中,位于 WITH FILL 列之前的列构成排序前缀。对于排序前缀值不同的行,将分别独立填充

Navigation