max_execution_speed
timeout_before_checking_execution_speed
expire. Si la vitesse d’exécution est trop élevée, elle sera réduite.
max_execution_speed_bytes
timeout_before_checking_execution_speed
expire. Si la vitesse d’exécution est trop élevée, elle sera réduite.
max_execution_time
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.
Le délai d’expiration n’est vérifié et la requête ne peut s’arrêter qu’à des endroits précis pendant le traitement des données.
Actuellement, elle ne peut pas s’arrêter pendant la fusion des états d’agrégation ni pendant l’analyse de la requête,
et le temps d’exécution réel sera supérieur à la valeur de ce paramètre.
max_execution_time_leaf
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 :
max_execution_time_leaf comme paramètre de requête :