Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

paramètres de session max_execution_*

Ces paramètres sont disponibles dans system.settings et sont générés automatiquement à partir du code source.

max_execution_speed

Type
UInt64
Par défaut
0

Nombre maximal de lignes traitées par seconde. Ce paramètre est vérifié sur chaque bloc de données lorsque timeout_before_checking_execution_speed expire. Si la vitesse d'exécution est trop élevée, elle sera réduite.

max_execution_speed_bytes

Type
UInt64
Par défaut
0

Le nombre maximal d’octets traités par seconde. Cette limite est vérifiée pour chaque bloc de données lorsque timeout_before_checking_execution_speed expire. Si la vitesse d’exécution est trop élevée, elle sera réduite.

max_execution_time

Type
Secondes
Par défaut
0

Le temps d’exécution maximal d’une requête, en secondes.

Le paramètre max_execution_time peut être un peu délicat à comprendre. Il fonctionne sur la base d’une interpolation relative à la vitesse d’exécution actuelle de la requête (ce comportement est contrôlé par timeout_before_checking_execution_speed).

ClickHouse interrompra une requête si le temps d’exécution estimé dépasse la valeur spécifiée par max_execution_time. Par défaut, timeout_before_checking_execution_speed est défini sur 10 secondes. Cela signifie qu’après 10 secondes d’exécution de la requête, ClickHouse commencera à estimer le temps d’exécution total. Si, par exemple, max_execution_time est défini sur 3600 secondes (1 heure), ClickHouse mettra fin à la requête si la durée estimée dépasse cette limite de 3600 secondes. Si vous définissez timeout_before_checking_execution_speed sur 0, ClickHouse utilisera le temps écoulé comme base pour max_execution_time.

Si le temps d’exécution de la requête dépasse le nombre de secondes spécifié, le comportement sera déterminé par 'timeout_overflow_mode', qui est défini par défaut sur throw.

max_execution_time_leaf

Type
seconde
Par défaut
0

Sémantiquement similaire à max_execution_time, mais appliqué uniquement aux nœuds feuilles pour les requêtes distribuées ou distantes.

Par exemple, si l’on veut limiter le temps d’exécution sur un nœud feuille à 10s tout en n’ayant aucune limite sur le nœud initial, au lieu d’avoir max_execution_time dans les paramètres de la sous-requête imbriquée :

SELECT count()
FROM cluster(cluster, view(SELECT * FROM t SETTINGS max_execution_time = 10));

Nous pouvons utiliser max_execution_time_leaf comme paramètre de requête :

SELECT count()
FROM cluster(cluster, view(SELECT * FROM t)) SETTINGS max_execution_time_leaf = 10;
Navigation