Skip to main content

有効期限 (TTL) ルールと制御

有効期限 (TTL) は最終的には適用されます。これはどういう意味でしょうか。MergeTree テーブル設定の merge_with_ttl_timeout は、delete 有効期限 (TTL) を伴うマージを再実行するまでの最短待機時間を秒単位で設定します。デフォルト値は 14400 秒 (4 時間) です。ただし、これはあくまで最短の待機時間であり、delete 有効期限 (TTL) のマージがトリガーされるまでには、さらに時間がかかることがあります。 次のクエリを使うと、現在の 有効期限 (TTL) 設定 (merge_with_ttl_timeout など) をすべて確認できます。
応答は次のようになります。
SHOW CREATE TABLE を使うと、テーブルに有効期限 (TTL) ルールが含まれているかどうかや、テーブルの SETTINGS によって上記の設定値が変更されているかどうかを確認できます。

有効期限 (TTL)ルールを強制的に適用する

これはあまりスマートな方法ではありませんが、MATERIALIZE TTL を明示的に実行することで、テーブルのすべての有効期限 (TTL)ルールを強制的にマテリアライズできます。

有効期限 (TTL) に影響するバックグラウンドスレッド

バックグラウンドプールの稼働スレッド数が不足しているために、有効期限 (TTL) のルールが適用されていない可能性があります。たとえば、データを高頻度で insert している場合、バックグラウンドプール全体が通常のマージ処理で使われてしまうことがあります。ただし、バックグラウンドプールのサイズは増やせます。 現在のバックグラウンドプールのサイズは、次のクエリで確認できます。
応答は次のようになります:
以下のように設定されているbackground_pool_size 設定の変更方法については、ドキュメントを参照してください:
次のクエリで、現在のバックグラウンドプールのアクティビティを確認できます。
最終更新日 2026年7月3日