use_async_executor_for_materialized_views
Utilise une exécution asynchrone et potentiellement multithreadée de la requête de vue matérialisée, ce qui peut accélérer le traitement des vues lors des INSERT, mais consomme aussi davantage de mémoire.use_cache_for_count_from_files
Active la mise en cache du nombre de lignes lors du comptage depuis des fichiers dans les fonctions de tablefile/s3/url/hdfs/azureBlobStorage.
Activé par défaut.
use_client_time_zone
Utilise le fuseau horaire du client pour interpréter les valeurs de chaîne DateTime, au lieu de celui du serveur.use_columns_cache
Détermine si le cache de colonnes est utilisé. Accepte 0 ou 1. Valeur par défaut : 0 (désactivé). Le cache de colonnes stocke les colonnes désérialisées issues des tablesMergeTree, ce qui évite de décompresser et de désérialiser à plusieurs reprises les données fréquemment consultées. Il peut ainsi réduire considérablement la latence des requêtes répétées sur les mêmes données. Le cache est indexé par l’UUID de la table, le nom de la part, le nom de la colonne et un stripe de granules consécutifs d’environ 65536 lignes.
Les entrées étant indexées par l’UUID de la table, le cache n’est actif que pour les tables des bases de données qui attribuent des UUID, comme Atomic, Replicated et Shared (le moteur de base de données par défaut dans ClickHouse Cloud) ; les tables MergeTree des bases de données legacy Ordinary ont un UUID nul et ignorent silencieusement ce paramètre.
Pour l’instant, le cache ne s’applique qu’aux parts wide : les données des parts compact ne sont ni lues depuis le cache de colonnes ni écrites dans celui-ci, si bien que l’accélération d’une lecture dépend du format de la part.
Une entrée contient une plage contiguë de granules d’un même stripe : un granule n’entre dans le cache qu’une fois lu intégralement, de sa première à sa dernière ligne ; une lecture est servie depuis le cache granule par granule, et les plages écrites par des lectures distinctes sont fusionnées, de sorte que des lectures découpant une part en plages de marques différentes partagent les mêmes entrées.
use_concurrency_control
Respecte le contrôle de la concurrence du serveur (voir les paramètres globaux du serveurconcurrent_threads_soft_limit_num et concurrent_threads_soft_limit_ratio_to_cores). Si ce paramètre est désactivé, il permet d’utiliser un plus grand nombre de threads même si le serveur est surchargé (non recommandé en usage normal, et surtout nécessaire pour les tests).
use_constant_folding_in_index_analysis
Substitue les constantes au niveau des partitions dans le prédicat de filtre lors de l’analyse, pour chaque part, de la clé primaire et des skip indexes. Lorsque la clé de partition apparaît dans le filtre avec des colonnes de clé primaire ou de skip index, cela permet à l’analyse des index de substituer séparément la valeur de partition dans chaque part. C’est particulièrement utile pour les filtres disjonctifs dont les branches ciblent des partitions différentes. Par exemple, avecPARTITION BY a et ORDER BY b :
a = 1, la condition se simplifie en b >= 1, tandis que pour les partitions a = 2 et a = 3, elle se simplifie en b > 10, de sorte que chaque part est analysée avec le prédicat qui lui correspond réellement.
Valeurs possibles :
- 0 — Désactivé.
- 1 — Activé.
use_hash_table_stats_for_join_reordering
Active l’utilisation des statistiques de table de hachage collectées pour l’estimation de la cardinalité lors de la réorganisation des jointuresuse_hedged_requests
Active la logique des requêtes hedged pour les requêtes distantes. Cela permet d’établir plusieurs connexions à différentes répliques pour une requête. Une nouvelle connexion est activée si la ou les connexions existantes à la ou aux répliques n’ont pas été établies dans le délaihedged_connection_timeout
ou si aucune donnée n’a été reçue dans le délai receive_data_timeout. La requête utilise la première connexion qui envoie un paquet Progress non vide (ou un paquet Data, si allow_changing_replica_until_first_data_packet) ;
les autres connexions sont annulées. Les requêtes avec max_parallel_replicas > 1 sont prises en charge.
Activé par défaut.
Valeur par défaut dans Cloud : 0.
use_hive_partitioning
Lorsqu’il est activé, ClickHouse détecte le partitionnement de style Hive dans le chemin (/name=value/) des moteurs de table de type fichier File/S3/URL/HDFS/AzureBlobStorage, et permet d’utiliser les colonnes de partition comme colonnes virtuelles dans les requêtes. Ces colonnes virtuelles porteront les mêmes noms que dans le chemin partitionné, précédés de _.
use_indexes_refiner_in_read_pools
Applique les index évalués lors de la lecture des données directement dans les pools de lecture MergeTree : les plages de marques entièrement filtrées par des index skip (voiruse_skip_indexes_on_data_read) ou par l’index de projection (voir optimize_use_projection_filtering) sont exclues avant la création de leur tâche de lecture, au lieu d’être ignorées granule par granule pendant la lecture.
Dans le pool de lecture avec prélecture, les plages exclues ne sont jamais préchargées, mais les limites des tâches et l’admission de la prélecture via filesystem_prefetch_max_memory_usage / filesystem_prefetches_limit sont toujours déterminées avant le filtrage ; avec des filtres très sélectifs, les tâches restantes peuvent donc être plus petites que la taille de tâche prévue et l’admission peut être prudente.
use_join_disjunctions_push_down
Active le pushdown des parties des conditions de JOIN reliées par OR vers les côtés d’entrée correspondants (« pushdown partiel »). Cela permet aux moteurs de stockage de filtrer plus tôt, ce qui peut réduire la quantité de données lues. L’optimisation préserve la sémantique et n’est appliquée que lorsque chaque branche OR de premier niveau apporte au moins un prédicat déterministe pour le côté cible.use_legacy_to_time
Lorsqu’il est activé, le nomtoTime désigne la fonction toTime legacy,
qui convertit une date et heure en une date fixe donnée, tout en préservant l’heure.
Sinon, ce nom désigne la nouvelle fonction toTime,
qui convertit des valeurs de différents types en type Time.
La fonction legacy reste également accessible sans condition sous le nom toTimeWithFixedDate, indépendamment de ce paramètre.
Lorsque ce paramètre est activé, utilisez CAST(x AS Time) ou x::Time pour convertir vers le type Time.
use_lightweight_primary_key_index_analysis
Optimise l’analyse de l’index de la clé primaire pour les tablesMergeTree avec de longues clés primaires.
Lorsqu’il est activé, la durée de l’analyse d’index dépend principalement de la complexité du filtre de la requête (c’est-à-dire des colonnes clés qu’elle utilise réellement), et non de la longueur de la clé primaire. Ainsi, l’extension de la clé de tri n’ajoute qu’une surcharge négligeable à l’analyse d’index pour les requêtes qui ne filtrent que sur quelques-unes de ses colonnes.
Valeurs possibles :
- 0 — Désactivé. Toutes les colonnes de la clé primaire sont traitées lors de l’analyse d’index.
- 1 — Activé.
use_parquet_metadata_cache
Lorsque ce paramètre est activé, le format Parquet peut utiliser le cache des métadonnées Parquet. Valeurs possibles :- 0 - Désactivé
- 1 - Activé
use_primary_key
Utilise la clé primaire pour élaguer les granules lors de l’exécution des requêtes sur les tables MergeTree. Valeurs possibles :- 0 — Désactivé.
- 1 — Activé.
use_reader_executor
Expérimental. Achemine les lectures via le nouveau pipelineReaderExecutor au lieu de la matriochka legacy des tampons de lecture. Bascule sur le chemin legacy pour les configurations que l’exécuteur ne prend pas encore en charge.
use_roaring_bitmap_iceberg_positional_deletes
Utiliser un bitmap roaring pour les suppressions positionnelles d’Iceberg.use_streaming_marks_compression
Lors du chargement des marks pour les parts MergeTree, compressez-les dans leur représentation en mémoire un bloc à la fois (streaming), au lieu de matérialiser d’abord l’ensemble du tableau de marks bruts. Cela réduit considérablement le pic de mémoire lors du chargement des marks pour les compact parts avec de nombreux sous-flux (par exemple, les tables avec des colonnes JSON etwrite_marks_for_substreams_in_compact_parts activé).
use_strict_insert_block_limits
Lorsqu’il est activé, ce paramètre applique strictement les limites minimale et maximale de taille du bloc d’insertion. Un bloc est émis lorsque :- Seuils min (AND) : min_insert_block_size_rows ET min_insert_block_size_bytes sont tous deux atteints.
- Seuils max (OR) : max_insert_block_size_rows OU max_insert_block_size_bytes est atteint.
- Seuils min (OR) : min_insert_block_size_rows OU min_insert_block_size_bytes est atteint.