Permet d’exécuter plusieurs instructions en parallèle.
statement1 PARALLEL WITH statement2 [PARALLEL WITH statement3 ...]
Exécute les instructions statement1, statement2, statement3, … en parallèle. La sortie de ces instructions est ignorée.
Dans de nombreux cas, l’exécution d’instructions en parallèle peut être plus rapide qu’une simple suite des mêmes instructions. Par exemple, statement1 PARALLEL WITH statement2 PARALLEL WITH statement3 sera probablement plus rapide que statement1; statement2; statement3.
Crée deux tables en parallèle :
CREATE TABLE table1(x Int32) ENGINE = MergeTree ORDER BY tuple()
PARALLEL WITH
CREATE TABLE table2(y String) ENGINE = MergeTree ORDER BY tuple();
Supprime deux tables en parallèle :
DROP TABLE table1
PARALLEL WITH
DROP TABLE table2;
Le paramètre max_threads détermine le nombre de threads créés.
La clause PARALLEL WITH présente quelques similitudes avec UNION, qui exécute lui aussi ses opérandes en parallèle. Il existe toutefois quelques différences :
PARALLEL WITH ne renvoie aucun résultat issu de l’exécution de ses opérandes ; il peut seulement relancer une exception provenant de l’un d’eux, le cas échéant ;
PARALLEL WITH n’exige pas que ses opérandes aient le même ensemble de colonnes de résultat ;
PARALLEL WITH peut exécuter n’importe quelles instructions SQL (pas seulement SELECT).
Dernière modification le 25 juin 2026