Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.
max_execution_speed
O número máximo de linhas executadas por segundo. Verificado em cada bloco de dados quando
timeout_before_checking_execution_speed
expira. Se a velocidade de execução estiver alta, ela será reduzida.
max_execution_speed_bytes
O número máximo de bytes processados por segundo. Verificado em cada bloco de dados quando
timeout_before_checking_execution_speed
expira. Se a velocidade de execução estiver alta, ela será reduzida.
max_execution_time
O tempo máximo de execução da consulta, em segundos.
O parâmetro max_execution_time pode ser um pouco difícil de entender.
Ele funciona com base em uma interpolação relativa à velocidade atual de execução da consulta
(esse comportamento é controlado por timeout_before_checking_execution_speed).
O ClickHouse interromperá uma consulta se o tempo total de execução estimado exceder o
max_execution_time especificado. Por padrão, timeout_before_checking_execution_speed
é definido como 10 segundos. Isso significa que, após 10 segundos de execução da consulta, o ClickHouse
começará a estimar o tempo total de execução. Se, por exemplo, max_execution_time
for definido como 3600 segundos (1 hora), o ClickHouse encerrará a consulta se o tempo estimado
ultrapassar esse limite de 3600 segundos. Se você definir timeout_before_checking_execution_speed
como 0, o ClickHouse usará o tempo decorrido como base para max_execution_time.
Se o tempo de execução da consulta exceder o número especificado de segundos, o comportamento será
determinado por 'timeout_overflow_mode', que, por padrão, é definido como throw.
max_execution_time_leaf
Semelhante em significado a max_execution_time, mas aplicado apenas
a nós folha em consultas distribuídas ou remotas.
Por exemplo, se quisermos limitar o tempo de execução em um nó folha a 10s, mas
não houver limite no nó inicial, em vez de definir max_execution_time nas
configurações da subconsulta aninhada:
SELECT count()
FROM cluster(cluster, view(SELECT * FROM t SETTINGS max_execution_time = 10));Podemos usar max_execution_time_leaf nas configurações da consulta:
SELECT count()
FROM cluster(cluster, view(SELECT * FROM t)) SETTINGS max_execution_time_leaf = 10;