这些设置可在 system.settings 中查看,由 源代码 自动生成。
join_runtime_bloom_filter_bytes
类型
UInt64
默认值
524288
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.10 | 524288 | 新增设置 |
用作 JOIN 运行时过滤器的布隆过滤器大小 (以字节为单位) (参见 enable_join_runtime_filters 设置) 。
join_runtime_bloom_filter_hash_functions
类型
UInt64
默认值
3
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.10 | 3 | 新设置 |
用作 JOIN 运行时过滤器的布隆过滤器中的哈希函数数量 (参见 enable_join_runtime_filters 设置) 。
join_runtime_bloom_filter_max_ratio_of_set_bits
类型
Double
默认值
0.7
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.1 | 0.7 | 新增设置 |
如果运行时布隆过滤器中的置位比例超过该比率,则会完全禁用该过滤器,以降低开销。
join_runtime_filter_blocks_to_skip_before_reenabling
类型
UInt64
默认值
30
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.1 | 30 | 新设置 |
在尝试动态重新启用先前因过滤比率不佳而被禁用的运行时过滤器之前,需要跳过的块数。
join_runtime_filter_exact_values_limit
类型
UInt64
默认值
10000
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.10 | 10000 | 新设置 |
运行时过滤器中以原样形式存储在集合中的元素最大数量;超过此阈值时,将切换为布隆过滤器。
join_runtime_filter_from_fixed_hash_table
类型
Bool
默认值
1
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 1 | 新设置。 |
当 hash join 的构建侧被转换为 FixedHashMap (参见 enable_join_fixed_hash_table_conversion) 时,直接将该哈希表用作运行时过滤器。
join_runtime_filter_min_probe_rows
类型
UInt64
默认值
1000
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.8 | 1000 | 用于控制是否安装 JOIN 运行时过滤器的最小探测端规模的新增设置。此前没有限制,因此之前的值为 0,表示始终安装。 |
如果在查询计划阶段,预计 JOIN 的探测端产生的行数不超过此数值,则不会创建 JOIN 运行时过滤器。对于很小的探测端,构建和应用运行时过滤器的开销大于其带来的节省。设置为 0 可始终创建运行时过滤器,而不考虑估计的探测端大小。
join_runtime_filter_pass_ratio_threshold_for_disabling
类型
Double
默认值
0.7
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.1 | 0.7 | 新设置 |
如果通过的行数与已检查行数的比率高于此阈值,则会认为运行时过滤器效果不佳,并在接下来的 join_runtime_filter_blocks_to_skip_before_reenabling 个块内将其禁用,以减少开销。
join_runtime_filter_size_from_hash_table_stats
类型
Bool
默认值
1
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.7 | 1 | 使用从之前执行中收集的哈希表大小统计信息来确定 JOIN 运行时过滤器的大小。禁用后,将回退到固定的 `join_runtime_bloom_filter_bytes`。 |
使用从之前执行中收集的哈希表大小统计信息来确定 JOIN 运行时过滤器的大小。禁用后,将回退到固定的 join_runtime_bloom_filter_bytes。