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

use_top_k_dynamic_filtering

在执行 ORDER BY <column> LIMIT n 查询时启用动态过滤优化。 启用后,查询执行器会尝试跳过那些不会进入结果集最终 top N 行的粒度和行。这项优化具有动态特性,延迟改善效果取决于数据分布以及查询中是否存在其他谓词。 可能的值:
  • 0 — 已禁用。
  • 1 — 已启用。

use_top_k_dynamic_filtering_for_variable_length_types

允许在排序列为变长数据类型 (例如 StringArrayMap、包含变长元素的 Tuple) 时应用 use_top_k_dynamic_filtering 对于这类类型,当列的字典序最小值占主导 (例如大多为空字符串) 且只能跳过很少的粒度时,动态过滤执行逐行阈值比较的开销可能会超过其带来的收益。在这种情况下,动态过滤会增加查询延迟,而非带来改进。 当此设置为 0 时,动态过滤仅适用于值在内存中具有固定最大大小的列 (数值、DateDateTimeFixedStringEnum、这些类型的 Nullable 以及这些类型的 Tuple) 。设置为 1 时,动态过滤也会应用于变长类型。 可选值:
  • 0 — 禁用。
  • 1 — 启用。
最后修改于 2026年7月23日