use_top_k_dynamic_filtering
ORDER BY <column> LIMIT n クエリの実行時に、動的フィルタリング最適化を有効にします。
有効にすると、クエリエグゼキュータは、結果セットの最終的な top N 行に含まれない granule や行をスキップしようとします。この最適化は動的に動作するため、レイテンシの改善効果はデータ分布や、クエリ内に他のフィルタ条件があるかどうかに依存します。
設定可能な値:
- 0 — 無効。
- 1 — 有効。
use_top_k_dynamic_filtering_for_variable_length_types
String、Array、Map、可変長要素を含む Tuple) の場合に、use_top_k_dynamic_filtering を適用できるようにします。
このような型では、動的フィルタが各行に対して行うしきい値比較のコストが、その効果を上回ることがあります。特に、カラムの辞書順での最小値が大半を占める場合 (例: ほとんどが空文字列) や、スキップできる granule が少ない場合に起こります。その場合、動的フィルタはクエリのレイテンシを改善するどころか、かえって悪化させます。
この設定が 0 の場合、動的フィルタリングは、メモリ内で値の最大サイズが固定されているカラム (数値、Date、DateTime、FixedString、Enum、それらの型の Nullable、それらの型の Tuple) に制限されます。1 に設定すると、動的フィルタリングは可変長の型にも適用されます。
設定可能な値:
- 0 — 無効。
- 1 — 有効。