Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

use_top_k_dynamic_filtering_* セッション設定

これらの設定は system.settings で利用でき、ソースコード から自動生成されています。

use_top_k_dynamic_filtering

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
26.51TopKクエリに対する動的フィルタリング最適化をデフォルトで有効化
25.120新しい設定

ORDER BY <column> LIMIT n クエリの実行時に、動的フィルタリング最適化を有効にします。

有効にすると、クエリエグゼキュータは、結果セットの最終的な top N 行に含まれない granule や行をスキップしようとします。この最適化は動的に動作するため、レイテンシの改善効果はデータ分布や、クエリ内に他のフィルタ条件があるかどうかに依存します。

設定可能な値:

  • 0 — 無効。
  • 1 — 有効。

use_top_k_dynamic_filtering_for_variable_length_types

Bool
デフォルト値
0
バージョン履歴
バージョンデフォルト値コメント
26.50可変長のソートカラム(例: `String`)に対しては、既定で `use_top_k_dynamic_filtering` を無効にします。従来はこの最適化が無条件に適用されていましたが、その動作は `compatibility` で維持されます。

ソートカラムが可変長のデータ型 (例: StringArrayMap、可変長要素を含む Tuple) の場合に、use_top_k_dynamic_filtering を適用できるようにします。

このような型では、動的フィルタが各行に対して行うしきい値比較のコストが、その効果を上回ることがあります。特に、カラムの辞書順での最小値が大半を占める場合 (例: ほとんどが空文字列) や、スキップできる granule が少ない場合に起こります。その場合、動的フィルタはクエリのレイテンシを改善するどころか、かえって悪化させます。

この設定が 0 の場合、動的フィルタリングは、メモリ内で値の最大サイズが固定されているカラム (数値、DateDateTimeFixedStringEnum、それらの型の Nullable、それらの型の Tuple) に制限されます。1 に設定すると、動的フィルタリングは可変長の型にも適用されます。

設定可能な値:

  • 0 — 無効。
  • 1 — 有効。
Navigation