これらの設定は system.settings で確認でき、ソースコード から自動生成されています。
parallel_distributed_insert_select
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.7 | 2 | デフォルトで並列分散 insert select を有効化 |
分散 INSERT ... SELECT クエリの並列実行を有効にします。
INSERT INTO distributed_table_a SELECT ... FROM distributed_table_b クエリを実行し、両方のテーブルが同じクラスターを使用していて、かつ両方のテーブルが replicated または非レプリケートである場合、このクエリは各分片でローカルに処理されます。
設定可能な値:
0— 無効。1—SELECTは、Distributedエンジンの基になるテーブルに対して各分片で実行されます。2—SELECTとINSERTは、Distributedエンジンの基になるテーブルに対して各分片で実行されます。
v25.4 以降では、ReplicatedMergeTree または SharedMergeTree をソースとする INSERT ... SELECT も、レプリカ間で並列化できます。有効にするには、次のように設定します:
parallel_distributed_insert_select = 2enable_parallel_replicas = 1
parallel_hash_join_threshold
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.5 | 100000 | 新しい設定 |
| 25.4 | 0 | 新しい設定 |
| 25.3 | 0 | 新しい設定 |
ハッシュベースの JOIN アルゴリズムが適用される場合、このしきい値は hash と parallel_hash のどちらを使用するかを判断するのに役立ちます (右テーブルのサイズを見積もれる場合に限ります) 。
前者は、右テーブルのサイズがしきい値未満であることがわかっている場合に使用されます。
parallel_non_joined_rows_processing
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.2 | 1 | RIGHT/FULL parallel_hash 結合で、右テーブルの非結合行を並列処理するための新しい設定。 |
RIGHT JOIN および FULL JOIN の実行時に、右テーブルの非結合行を複数のスレッドで並列に処理できるようにします。
これにより、大きなテーブルで parallel_hash 結合アルゴリズムを使用する場合、非結合フェーズを高速化できます。
無効にすると、非結合行は単一のスレッドで処理されます。
parallel_replica_offset
これは内部設定であり、直接使用すべきものではなく、「並列レプリカ」モードの実装上の詳細を表すものです。この設定は、分散クエリにおいて、並列レプリカのうちクエリ処理に参加するレプリカの索引として、イニシエーターサーバーによって自動的に設定されます。
parallel_view_processing
順次ではなく、アタッチ済みのビューへのプッシュを同時実行できるようにします。