これらの設定は system.settings で参照でき、ソースコード から自動生成されています。
use_skip_indexes
クエリ実行時にデータスキッピングインデックスを使用します。
設定可能な値:
- 0 — 無効。
- 1 — 有効。
use_skip_indexes_for_disjunctions
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.12 | 1 | 新しい設定 |
AND と OR が混在する WHERE フィルター条件を、スキップ索引を使用して評価します。例: WHERE A = 5 AND (B = 5 OR C = 5)。 無効にした場合でも、WHERE 条件の評価には引き続きスキップ索引が使用されますが、含められるのは AND で結合された句のみです。
設定可能な値:
- 0 — 無効。
- 1 — 有効。
use_skip_indexes_for_top_k
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.5 | 1 | 既定で TopK フィルタリングにデータスキッピングインデックスを使用する |
| 25.12 | 0 | 新しい設定 |
TopK フィルタリングでデータスキッピングインデックスを使用します。
有効にすると、ORDER BY <column> LIMIT n クエリのカラムに minmax スキップ索引がある場合、オプティマイザは minmax 索引を使って、最終結果に関係しないグラニュールをスキップしようとします。これにより、クエリのレイテンシを低減できます。
設定可能な値:
- 0 — 無効。
- 1 — 有効。
use_skip_indexes_if_final
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.6 | 1 | 設定のデフォルト値の変更 |
FINAL 修飾子を使用するクエリの実行時に、スキップ索引を使用するかどうかを制御します。
スキップ索引によって最新データを含む行 (グラニュール) が除外される場合があり、その結果、FINAL 修飾子を使用するクエリで不正確な結果が返されるおそれがあります。この設定を有効にすると、FINAL 修飾子を使用している場合でもスキップ索引が適用されるため、パフォーマンスが向上する可能性があります。正確な結果を得られるかどうかは、デフォルトで有効になっており、スキップ索引が返す範囲と重複する追加のパーツをスキャンする use_skip_indexes_if_final_exact_mode の設定にも依存します。直近の更新を見逃すリスクは、その設定が無効な場合にのみ該当します。
設定可能な値:
- 0 — 無効。
- 1 — 有効。
use_skip_indexes_if_final_exact_mode
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.6 | 1 | 設定のデフォルト値の変更 |
| 25.5 | 0 | この設定は、FINALクエリでスキップ索引を使用した際に正しい結果を返せるように導入されました |
FINAL修飾子を指定してクエリを実行する際に、正しい結果を返せるよう、スキップ索引によって返されたグラニュールを新しいパーツ内で展開するかどうかを制御します。
スキップ索引を使用すると、最新のデータを含む行 (グラニュール) が除外され、誤った結果につながる可能性があります。この設定を有効にすると、スキップ索引が返した範囲と重なる新しいパーツをスキャンすることで、正しい結果を返せるようになります。アプリケーションでスキップ索引の参照に基づく近似結果でも許容できる場合にのみ、この設定を無効にしてください。
設定可能な値:
- 0 — 無効。
- 1 — 有効。
use_skip_indexes_on_data_read
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.2 | 1 | テキスト索引が GA になりました |
| 26.1 | 0 | デフォルトで有効 |
| 25.9 | 0 | 新しい設定 |
データ読み取り時にデータスキッピングインデックスを使用できるようにします。
有効にすると、スキップ索引はクエリ実行の開始前に事前解析されるのではなく、各データ granule の読み取り時に動的に評価されます。これにより、クエリ開始時のレイテンシを低減できます。
設定可能な値:
- 0 — 無効。
- 1 — 有効。