Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.
optimize_skip_merged_partitions
Habilita ou desabilita a otimização da consulta OPTIMIZE TABLE … FINAL se houver apenas uma parte com nível > 0 e ela não tiver TTL expirado.
OPTIMIZE TABLE ... FINAL SETTINGS optimize_skip_merged_partitions=1
Por padrão, a consulta OPTIMIZE TABLE ... FINAL reescreve a parte mesmo que exista apenas uma única parte.
Valores possíveis:
- 1 - Habilita a otimização.
- 0 - Desabilita a otimização.
optimize_skip_unused_shards
Habilita ou desabilita a omissão de shards não utilizados em consultas SELECT que tenham uma condição de chave de sharding em WHERE/PREWHERE, e ativa otimizações relacionadas para consultas distribuídas (por exemplo, agregação por chave de sharding).
Valores possíveis:
- 0 — Desabilitado.
- 1 — Habilitado.
optimize_skip_unused_shards_limit
Limite para o número de valores da chave de sharding; desativa optimize_skip_unused_shards se o limite for atingido.
Um número excessivo de valores pode exigir um volume significativo de processamento, enquanto o benefício é duvidoso, já que, se você tiver um número muito grande de valores em IN (...), muito provavelmente a consulta será enviada para todos os shards de qualquer forma.
optimize_skip_unused_shards_nesting
Controla o comportamento de optimize_skip_unused_shards (portanto, ainda requer optimize_skip_unused_shards) com base no nível de aninhamento da consulta distribuída (caso em que você tem uma tabela Distributed que consulta outra tabela Distributed).
Valores possíveis:
- 0 — Desabilitado;
optimize_skip_unused_shardssempre funciona. - 1 — Habilita
optimize_skip_unused_shardsapenas para o primeiro nível. - 2 — Habilita
optimize_skip_unused_shardsaté o segundo nível.
optimize_skip_unused_shards_rewrite_in
Reescreve IN na consulta para shards remotos a fim de excluir valores que não pertencem ao shard (requer optimize_skip_unused_shards).
Valores possíveis:
- 0 — Desabilitado.
- 1 — Habilitado.