Vue d’ensemble
SELECT et, pour le traitement distribué
des requêtes, elles sont appliquées séparément sur chaque serveur.
En règle générale, ClickHouse ne vérifie les restrictions qu’une fois les parties de données
entièrement traitées, plutôt que de les vérifier pour chaque ligne. Il peut donc arriver
que les restrictions soient dépassées pendant le traitement
d’une partie de données.
Paramètres de overflow_mode
overflow_mode, qui définit ce qui se passe
lorsque la limite est dépassée, et peut prendre l’une des deux valeurs suivantes :
throw: lever une exception (par défaut).break: arrêter l’exécution de la requête et renvoyer un résultat partiel, comme si les données d’origine étaient épuisées.
Paramètres de group_by_overflow_mode
group_by_overflow_mode accepte également
la valeur any :
any: poursuivre l’agrégation pour les clés déjà présentes dans l’ensemble, mais ne pas ajouter de nouvelles clés à l’ensemble.
Liste des paramètres
Les restrictions de type « quantité maximale de quelque chose » peuvent prendre la valeur
0,
ce qui signifie qu’elles sont « sans restriction ».| Paramètre | Description succincte |
|---|---|
max_memory_usage | La quantité maximale de RAM à utiliser pour exécuter une requête sur un seul serveur. |
max_memory_usage_for_user | La quantité maximale de RAM à utiliser pour exécuter les requêtes d’un utilisateur sur un seul serveur. |
max_rows_to_read | Le nombre maximal de lignes pouvant être lues dans une table lors de l’exécution d’une requête. |
max_bytes_to_read | Le nombre maximal d’octets (de données non compressées) pouvant être lus dans une table lors de l’exécution d’une requête. |
read_overflow_mode_leaf | Définit ce qui se passe lorsque le volume de données lues dépasse l’une des limites des nœuds feuille |
max_rows_to_read_leaf | Le nombre maximal de lignes pouvant être lues dans une table locale sur un nœud feuille lors de l’exécution d’une requête distribuée |
max_bytes_to_read_leaf | Le nombre maximal d’octets (de données non compressées) pouvant être lus dans une table locale sur un nœud feuille lors de l’exécution d’une requête distribuée. |
read_overflow_mode_leaf | Définit ce qui se passe lorsque le volume de données lues dépasse l’une des limites des nœuds feuille. |
max_rows_to_group_by | Le nombre maximal de clés uniques issues de l’agrégation. |
group_by_overflow_mode | Définit ce qui se passe lorsque le nombre de clés uniques pour l’agrégation dépasse la limite |
max_bytes_before_external_group_by | Active ou désactive l’exécution des clauses GROUP BY en mémoire externe. |
max_bytes_ratio_before_external_group_by | La part de mémoire disponible autorisée pour GROUP BY. Une fois ce seuil atteint, la mémoire externe est utilisée pour l’agrégation. |
max_bytes_before_external_sort | Active ou désactive l’exécution des clauses ORDER BY en mémoire externe. |
max_bytes_ratio_before_external_sort | La part de mémoire disponible autorisée pour ORDER BY. Une fois ce seuil atteint, le tri externe est utilisé. |
max_rows_to_sort | Le nombre maximal de lignes avant le tri. Permet de limiter la consommation de mémoire lors du tri. |
max_bytes_to_sort | Le nombre maximal d’octets avant le tri. |
sort_overflow_mode | Définit ce qui se passe si le nombre de lignes reçues avant le tri dépasse l’une des limites. |
max_result_rows | Limite le nombre de lignes dans le résultat. |
max_result_bytes | Limite la taille du résultat en octets (non compressés) |
result_overflow_mode | Définit ce qu’il faut faire si le volume du résultat dépasse l’une des limites. |
max_execution_time | Le temps d’exécution maximal de la requête en secondes. |
timeout_overflow_mode | Définit ce qu’il faut faire si la requête s’exécute plus longtemps que max_execution_time ou si son temps d’exécution estimé dépasse max_estimated_execution_time. |
max_execution_time_leaf | Semblable à max_execution_time sur le plan sémantique, mais appliqué uniquement aux nœuds feuille pour les requêtes distribuées ou distantes. |
timeout_overflow_mode_leaf | Définit ce qui se passe lorsque la requête sur un nœud feuille s’exécute plus longtemps que max_execution_time_leaf. |
min_execution_speed | Vitesse d’exécution minimale en lignes par seconde. |
min_execution_speed_bytes | Le nombre minimal d’octets traités par seconde lors de l’exécution. |
max_execution_speed | Le nombre maximal de lignes traitées par seconde lors de l’exécution. |
max_execution_speed_bytes | Le nombre maximal d’octets traités par seconde lors de l’exécution. |
timeout_before_checking_execution_speed | Vérifie, une fois le délai spécifié en secondes écoulé, que la vitesse d’exécution n’est pas trop lente (c’est-à-dire qu’elle n’est pas inférieure à min_execution_speed). |
max_estimated_execution_time | Le temps d’exécution estimé maximal de la requête, en secondes. |
max_columns_to_read | Le nombre maximal de colonnes pouvant être lues depuis une table dans une seule requête. |
max_temporary_columns | Le nombre maximal de colonnes temporaires qui doivent être conservées simultanément en RAM lors de l’exécution d’une requête, y compris les colonnes constantes. |
max_temporary_non_const_columns | Le nombre maximal de colonnes temporaires qui doivent être conservées simultanément en RAM lors de l’exécution d’une requête, sans compter les colonnes constantes. |
max_subquery_depth | Définit ce qui se passe si une requête comporte plus de sous-requêtes imbriquées que le nombre spécifié. |
max_ast_depth | La profondeur maximale d’imbrication de l’arbre syntaxique d’une requête. |
max_ast_elements | Le nombre maximal d’éléments dans l’arbre syntaxique d’une requête. |
max_rows_in_set | Le nombre maximal de lignes pour un jeu de données dans la clause IN créé à partir d’une sous-requête. |
max_bytes_in_set | Le nombre maximal d’octets (de données non compressées) utilisés par un ensemble dans la clause IN créé à partir d’une sous-requête. |
set_overflow_mode | Définit ce qui se passe lorsque la quantité de données dépasse l’une des limites. |
max_rows_in_distinct | Le nombre maximal de lignes distinctes lors de l’utilisation de DISTINCT. |
max_bytes_in_distinct | Le nombre maximal d’octets de l’état (en octets non compressés) en mémoire, utilisé par une table de hachage lors de l’utilisation de DISTINCT. |
distinct_overflow_mode | Définit ce qui se passe lorsque la quantité de données dépasse l’une des limites. |
max_rows_to_transfer | La taille maximale (en lignes) pouvant être transmise à un serveur distant ou enregistrée dans une table temporaire lors de l’exécution de la clause GLOBAL IN/JOIN. |
max_bytes_to_transfer | Le nombre maximal d’octets (de données non compressées) pouvant être transmis à un serveur distant ou enregistrés dans une table temporaire lors de l’exécution de la clause GLOBAL IN/JOIN. |
transfer_overflow_mode | Définit ce qui se passe lorsque la quantité de données dépasse l’une des limites. |
max_rows_in_join | Limite le nombre de lignes dans la table de hachage utilisée lors de la jointure de tables. |
max_bytes_in_join | La taille maximale, en octets, de la table de hachage utilisée lors de la jointure de tables. |
join_overflow_mode | Définit l’action effectuée par ClickHouse lorsque l’une des limites de jointure suivantes est atteinte. |
max_partitions_per_insert_block | Limite le nombre maximal de partitions dans un seul bloc inséré, et une exception est levée si le bloc contient trop de partitions. |
throw_on_max_partitions_per_insert_block | Permet de contrôler le comportement lorsque max_partitions_per_insert_block est atteint. |
max_temporary_data_on_disk_size_for_user | La quantité maximale de données consommée par les fichiers temporaires sur disque, en octets, pour toutes les requêtes utilisateur exécutées simultanément. |
max_temporary_data_on_disk_size_for_query | La quantité maximale de données consommée par les fichiers temporaires sur disque, en octets, pour toutes les requêtes exécutées simultanément. |
max_sessions_for_user | Nombre maximal de sessions simultanées par utilisateur authentifié sur le serveur ClickHouse. |
max_partitions_to_read | Limite le nombre maximal de partitions auxquelles il est possible d’accéder dans une seule requête. |
Paramètres obsolètes
Les paramètres suivants sont obsolètes.