Ces paramètres sont disponibles dans system.settings et sont générés automatiquement à partir du code source.
read_in_order_two_level_merge_threshold
Nombre minimal de parts à lire pour exécuter l’étape de fusion préliminaire lors d’une lecture multithread dans l’ordre de la clé primaire.
read_in_order_use_buffering
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 24.7 | 1 | Utiliser la mise en tampon avant la fusion lors de la lecture dans l'ordre de la clé primaire |
Utiliser la mise en tampon avant la fusion lors de la lecture dans l'ordre de la clé primaire. Cela augmente le parallélisme de l'exécution des requêt
read_in_order_use_virtual_row
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 26.8 | 1 | Activer l'optimisation des lignes virtuelles par défaut. Lors de la lecture dans l'ordre de la clé primaire sur de nombreuses parts, elle permet à `MergingSortedTransform` de redéfinir les priorités des sources à l'aide des valeurs de clé primaire de l'index clairsemé, afin que les parts non pertinentes pour la requête ne soient pas lues, tout en conservant une fenêtre de prélecture limitée à `max_threads` parts pour maintenir le parallélisme des lectures. Cela réduit considérablement la consommation maximale de mémoire (voir https://github.com/ClickHouse/ClickHouse/issues/52624). |
| 24.11 | 0 | Utiliser une ligne virtuelle lors de la lecture dans l'ordre de la clé primaire ou d'une fonction monotone de celle-ci. Cela est utile lors de recherches sur plusieurs parts, car seules les parts pertinentes sont consultées. |
Utiliser une ligne virtuelle lors de la lecture dans l'ordre de la clé primaire ou d'une fonction monotone de celle-ci. Cela est utile lors de recherches sur plusieurs parts, car seules les parts pertinentes sont consultées, ainsi qu'une fenêtre de prélecture limitée à max_threads parts pour maintenir le parallélisme des lectures.
read_in_order_use_virtual_row_per_block
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 26.4 | 0 | Émet une ligne virtuelle après chaque bloc lors d'une lecture dans l'ordre afin de permettre une redéfinition plus fréquente de la priorité des sources dans MergingSortedTransform. |
Lorsqu'il est activé en même temps que read_in_order_use_virtual_row, émet une ligne virtuelle après chaque bloc lu (et pas seulement au début de chaque part).
Cela permet à MergingSortedTransform de redéfinir plus fréquemment la priorité des sources, ce qui est utile lorsque les filtres en aval écartent de nombreuses lignes et que les données sont réparties de manière inégale entre les parts.
Notez que cela désactive l'optimisation read_in_order_use_buffering et la fusion préliminaire (read_in_order_two_level_merge_threshold) pour la lecture.