Pular para o conteúdo principal

Pergunta

Ao executar uma instrução INSERT...SELECT, estou recebendo o erro de partes em excesso (TOO_MANY_PARTS). Como posso resolver isso?

Resposta

Abaixo estão algumas das configurações que podem ser ajustadas para evitar esse erro. Trata-se de um ajuste avançado do ClickHouse, e esses valores só devem ser definidos após entender as especificações do serviço ClickHouse Cloud ou do cluster on-premises do ClickHouse em que serão usados. Portanto, não considere esses valores como uma “solução única para todos os casos”. max_insert_block_size = 100_000_000 (padrão 1_048_576) Aumentar de ~1M para 100M permitirá a formação de blocos maiores Observação: essa configuração se aplica apenas quando o servidor forma os blocos, ou seja, em INSERT via interface HTTP, e não no clickhouse-client min_insert_block_size_rows = 100_000_000 (padrão 1_048_576) Aumentar de ~1M para 100M permitirá a formação de blocos maiores. min_insert_block_size_bytes = 500_000_000 (padrão 268_435_456) Aumentar de 268,44 MB para 500 MB permitirá a formação de blocos maiores. parts_to_delay_insert = 500 (padrão 150) Aumentar esse valor evita que INSERTs sejam artificialmente desacelerados quando o número de partes ativas em uma única partição é atingido. parts_to_throw_insert = 1500 (padrão 3000) Aumentar esse valor geralmente afetaria o desempenho das consultas na tabela, mas isso seria aceitável para migração de dados.
Última modificação em 10 de junho de 2026