Passer au contenu principal

Question

Lors de l’exécution d’une instruction INSERT...SELECT, j’obtiens l’erreur « Too many parts » (TOO_MANY_PARTS). Comment puis-je résoudre ce problème ?

Réponse

Vous trouverez ci-dessous quelques paramètres à ajuster pour éviter cette erreur. Il s’agit d’un réglage avancé de ClickHouse, et ces valeurs ne doivent être définies qu’après avoir bien compris les spécifications du service ClickHouse Cloud ou du cluster on-prem sur lequel elles seront utilisées. Ne considérez donc pas ces valeurs comme une solution « universelle ». max_insert_block_size = 100_000_000 (par défaut 1_048_576) Passer d’environ 1 M à 100 M permettrait de former des blocs plus volumineux Remarque : ce paramètre s’applique uniquement lorsque le serveur forme les blocs, c.-à-d. lors d’un INSERT via l’interface HTTP, et non avec clickhouse-client min_insert_block_size_rows = 100_000_000 (par défaut 1_048_576) Passer d’environ 1 M à 100 M permettrait de former des blocs plus volumineux. min_insert_block_size_bytes = 500_000_000 (par défaut 268_435_456) Passer de 268,44 MB à 500 MB permettrait de former des blocs plus volumineux. parts_to_delay_insert = 500 (par défaut 150) Augmentez cette valeur afin que les INSERT ne soient pas artificiellement ralentis lorsque le nombre de parts actives dans une seule partition est atteint. parts_to_throw_insert = 1500 (par défaut 3000) Augmenter cette valeur affecterait généralement les performances des requêtes sur la table, mais cela resterait acceptable pour une migration de données.
Dernière modification le 25 juin 2026