Pular para o conteúdo principal
Permite executar várias instruções em paralelo.

Sintaxe

statement1 PARALLEL WITH statement2 [PARALLEL WITH statement3 ...]
Executa as instruções statement1, statement2, statement3, … em paralelo. A saída dessas instruções é descartada. Em muitos casos, executar instruções em paralelo pode ser mais rápido do que simplesmente executá-las em sequência. Por exemplo, statement1 PARALLEL WITH statement2 PARALLEL WITH statement3 provavelmente será mais rápido do que statement1; statement2; statement3.

Exemplos

Cria duas tabelas em paralelo:
CREATE TABLE table1(x Int32) ENGINE = MergeTree ORDER BY tuple()
PARALLEL WITH
CREATE TABLE table2(y String) ENGINE = MergeTree ORDER BY tuple();
Remove duas tabelas em paralelo:
DROP TABLE table1
PARALLEL WITH
DROP TABLE table2;

Configurações

A configuração max_threads controla quantas threads são criadas.

Comparação com UNION

A cláusula PARALLEL WITH é um pouco parecida com UNION, que também executa seus operandos em paralelo. No entanto, há algumas diferenças:
  • PARALLEL WITH não retorna nenhum resultado da execução de seus operandos; se houver alguma exceção, apenas a propaga novamente;
  • PARALLEL WITH não exige que seus operandos tenham o mesmo conjunto de colunas no resultado;
  • PARALLEL WITH pode executar quaisquer instruções (não apenas SELECT).
Última modificação em 10 de junho de 2026