これらの設定は system.settings で利用でき、ソースコード から自動生成されています。
force_aggregate_partitions_independently
この最適化を適用可能でありながら、ヒューリスティックによって使用しないと判断された場合でも、使用を強制します
force_aggregation_in_order
この設定は、分散クエリをサポートするためにサーバー自体で使用されます。通常の動作に支障をきたすため、手動で変更しないでください。 (分散集約時に、リモートノードで順序付き集約を使用するよう強制します) 。
force_creating_set_partitions_independently
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.8 | 0 | パーティションの偏りチェックによってスキップされる場合でも、`IN (subquery)` のセット構築時にパーティションごとの事前重複排除を強制する新しい設定。 |
適用可能であるにもかかわらず、パーティションの偏りチェック (最大のパーティションが平均の2倍を超える場合) により使用しないと判断された場合でも、IN (subquery) のセット構築時にパーティションごとの事前重複排除を強制します。allow_creating_set_partitions_independently の偏りチェックのみをバイパスし、その他の条件は引き続き適用されます。
force_data_skipping_indices
指定したデータスキッピングインデックスが使用されなかった場合、クエリ実行を無効化します。
次の例を見てみましょう。
CREATE TABLE data
(
key Int,
d1 Int,
d1_null Nullable(Int),
INDEX d1_idx d1 TYPE minmax GRANULARITY 1,
INDEX d1_null_idx assumeNotNull(d1_null) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;
SELECT * FROM data_01515;
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices=''; -- query will produce CANNOT_PARSE_TEXT error.
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices='d1_idx'; -- query will produce INDEX_NOT_USED error.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='d1_idx'; -- Ok.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`'; -- Ok (example of full featured parser).
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- query will produce INDEX_NOT_USED error, since d1_null_idx is not used.
SELECT * FROM data_01515 WHERE d1 = 0 AND assumeNotNull(d1_null) = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- Ok.force_distinct_partitions_independently
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.8 | 0 | コストヒューリスティックによってスキップされる場合でも、パーティションごとに独立して `DISTINCT` を評価するよう強制する新しい設定。 |
適用可能であるにもかかわらずコストヒューリスティックが使用しないと判断した場合でも、パーティションごとに独立して DISTINCT を評価するよう強制します。allow_distinct_partitions_independently のコストヒューリスティックのみをバイパスし、それ以外の条件は引き続き適用されます。
force_grouping_standard_compatibility
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 22.9 | 1 | GROUPING関数の出力をSQL標準および他のDBMSと同じにします |
引数が集約キーとして使用されていない場合、GROUPING関数は1を返します
force_index_by_date
日付条件で索引を利用できない場合、クエリ実行を無効にします。
MergeTree family に属するテーブルで動作します。
force_index_by_date=1 の場合、ClickHouse は、データ範囲の絞り込みに使用できる日付キー条件がクエリに含まれているかどうかを確認します。適切な条件がない場合は、例外をスローします。ただし、その条件によって読み取るデータ量が実際に減るかどうかまでは確認しません。たとえば、条件 Date != ' 2000-01-01 ' は、テーブル内のすべてのデータに一致する場合でも許容されます (つまり、クエリの実行にはフルスキャンが必要です) 。MergeTree テーブルにおけるデータ範囲の詳細については、MergeTree を参照してください。
force_primary_key
主キー索引を使用できない場合、クエリ実行を無効にします。
MergeTree family のテーブルで動作します。
force_primary_key=1 の場合、ClickHouse はクエリに、データの範囲を絞り込むために使用できる主キー条件があるかどうかを確認します。適切な条件がない場合は、例外をスローします。ただし、その条件によって読み取るデータ量が減るかどうかまでは確認しません。MergeTree テーブルにおけるデータ範囲の詳細については、MergeTree を参照してください。
force_read_through_distributed_cache
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.9 | auto | 単一のクエリに対してサーバー設定 `enable_read_through_distributed_cache` を上書きする新しい設定。 |
| 26.8 | auto | 単一のクエリに対してサーバー設定 `enable_read_through_distributed_cache` を上書きする新しい設定。 |
ClickHouse Cloud でのみ有効です。単一のクエリに対してサーバー設定 enable_read_through_distributed_cache を上書きします。デフォルトの auto は、サーバー設定に従います。
force_remove_data_recursively_on_drop
DROP クエリ時にデータを再帰的に削除します。これにより 'Directory not empty' エラーは回避されますが、デタッチされたデータも気付かないうちに削除される可能性があります
force_window_partitions_independently
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.8 | 0 | コストヒューリスティックによってスキップされる場合でも、パーティションごとにウィンドウ関数を独立して評価するよう強制する新しい設定。 |
適用可能であってもコストヒューリスティックによって使用しないと判断された場合に、パーティションごとのウィンドウ関数の独立した評価を強制します。allow_window_partitions_independently のコストヒューリスティックのみをバイパスし、他の条件は引き続き適用されます。
force_write_through_distributed_cache
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.9 | auto | 単一のクエリに対してサーバー設定 `enable_write_through_distributed_cache` を上書きする新しい設定。 |
| 26.8 | auto | 単一のクエリに対してサーバー設定 `enable_write_through_distributed_cache` を上書きする新しい設定。 |
ClickHouse Cloud でのみ有効です。単一のクエリに対してサーバー設定 enable_write_through_distributed_cache を上書きします。デフォルトの auto は、サーバー設定に従います。