Passer au contenu principal

Règles TTL et contrôle

Le TTL finira bien par être appliqué. Qu’est-ce que cela signifie ? Le paramètre de table MergeTree merge_with_ttl_timeout définit le délai minimal, en secondes, avant de répéter une fusion avec TTL de suppression. La valeur par défaut est de 14400 secondes (4 heures). Mais ce n’est que le délai minimal : le déclenchement d’une fusion pour un TTL de suppression peut prendre plus de temps. Vous pouvez afficher tous vos paramètres TTL actuels (comme merge_with_ttl_timeout) avec cette requête :
La réponse ressemble à ceci :
Vous pouvez utiliser SHOW CREATE TABLE pour vérifier si votre table contient des règles TTL, ainsi que pour voir si les SETTINGS de la table ont modifié les valeurs des paramètres ci-dessus :

Forcer l’application d’une règle TTL

Ce n’est pas la solution la plus élégante, mais vous pouvez exécuter explicitement MATERIALIZE TTL, ce qui force la matérialisation de toutes les règles TTL d’une table :

Threads d’arrière-plan affectant le TTL

Il est possible que vos règles TTL ne soient pas appliquées faute d’un nombre suffisant de threads disponibles dans le pool d’arrière-plan. Par exemple, si vous insérez des données de façon intensive, l’ensemble du pool d’arrière-plan peut être mobilisé par les opérations de fusion normales. Vous pouvez toutefois augmenter la taille du pool d’arrière-plan. Vous pouvez vérifier la taille actuelle de votre pool d’arrière-plan avec cette requête :
La réponse ressemble à ceci :
Consultez la documentation pour savoir comment modifier le paramètre background_pool_size, qui est configuré comme suit :
Vous pouvez consulter l’activité actuelle du pool d’arrière-plan avec cette requête :
Dernière modification le 29 juin 2026