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

use_skip_indexes

在查询执行期间使用数据跳过索引。 可能的值:
  • 0 — 禁用。
  • 1 — 启用。

use_skip_indexes_for_disjunctions

使用跳过索引评估同时包含 AND 和 OR 条件的 WHERE 过滤器。示例:WHERE A = 5 AND (B = 5 OR C = 5)。 禁用时,跳过索引仍会用于评估 WHERE 条件,但其中只能包含通过 AND 连接的子句。 可能的值:
  • 0 — 已禁用。
  • 1 — 已启用。

use_skip_indexes_for_top_k

启用在 TopK 筛选中使用数据跳过索引。 启用后,如果 ORDER BY <column> LIMIT n 查询中的该列上存在 minmax 跳过索引,优化器会尝试使用该 minmax 索引,跳过与最终结果无关的粒度。这可以降低查询延迟。 可能的值:
  • 0 — 已禁用。
  • 1 — 已启用。

use_skip_indexes_if_final

控制在使用 FINAL 修饰符执行查询时是否使用跳过索引。 跳过索引可能会排除包含最新数据的行 (粒度) ,从而导致带有 FINAL 修饰符的查询结果不正确。启用此设置后,即使使用 FINAL 修饰符,也会应用跳过索引,这可能提升性能,但也有遗漏最近更新的风险。此设置应与 use_skip_indexes_if_final_exact_mode 设置同时启用 (默认已启用) 。 可能的值:
  • 0 — 禁用。
  • 1 — 启用。

use_skip_indexes_if_final_exact_mode

控制在使用 FINAL 修饰符执行查询时,是否在较新的 parts 中扩展跳过索引返回的粒度范围,以确保结果正确。 使用跳过索引时,可能会排除包含最新数据的行 (粒度) ,从而导致结果不正确。此设置可通过扫描与跳过索引返回范围重叠的较新 parts,确保返回正确结果。仅当应用可以接受基于跳过索引查找得到的近似结果时,才应禁用此设置。 可选值:
  • 0 — 已禁用。
  • 1 — 已启用。

use_skip_indexes_on_data_read

启用在读取数据时使用数据跳过索引。 启用后,跳过索引会在读取每个数据粒度时动态评估,而不是在查询执行开始前预先分析。这可以减少查询启动延迟。 可能值:
  • 0 — 禁用。
  • 1 — 启用。
最后修改于 2026年7月23日