これらの設定は system.settings で確認でき、ソースコード から自動生成されています。
max_partitions_per_insert_block
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 19.5 | 100 | 1 つのブロック内のパーティション数の制限を追加 |
1 つの挿入ブロックに含められるパーティションの最大数を制限します。 ブロック内のパーティション数が多すぎる場合は、例外がスローされます。
- 正の整数。
0— パーティション数は無制限です。
詳細
データの挿入時に、ClickHouse は
挿入ブロック内のパーティション数を計算します。パーティション数が
max_partitions_per_insert_block を超える場合、
ClickHouse は throw_on_max_partitions_per_insert_block の設定に応じて警告をログに記録するか、
例外をスローします。例外メッセージは次のとおりです。
"単一の INSERT ブロックに対してパーティション数が多すぎます (
partitions_count個のパーティション、上限は " + toString(max_partitions) + ") 。 この上限は 'max_partitions_per_insert_block' 設定で制御されます。 大量のパーティションを使用するのは、よくある誤解です。これにより、 server の起動や INSERT クエリ、 SELECT クエリが遅くなるなど、深刻なパフォーマンス低下を招きます。 table 全体のパーティション総数は 1000..10000 未満に抑えることが推奨されます。なお、 パーティション化は SELECT クエリを高速化するためのものではありません (範囲クエリを高速化するには ORDER BY key で十分です) 。 パーティションはデータ操作 (DROP PARTITION など) のためのものです。"
max_partitions_to_read
1 つのクエリでアクセスできるパーティションの最大数を制限します。
テーブル作成時に指定した設定値は、クエリレベルの設定で上書きできます。
設定可能な値:
- 正の整数
-1- 無制限 (デフォルト)