blob: 5c482a8998e692608a9b7b57808b93ca2a6f3775 [file] [log] [blame]
import{_ as p,c as r,b as n,d as o,e as a,a as e,f as t,r as i,o as c}from"./app-C-fAkKj6.js";const B={};function d(y,s){const l=i("RouteLink");return c(),r("div",null,[s[8]||(s[8]=n('<h1 id="过期自动删除" tabindex="-1"><a class="header-anchor" href="#过期自动删除"><span>过期自动删除</span></a></h1><h2 id="_1-概览" tabindex="-1"><a class="header-anchor" href="#_1-概览"><span>1. 概览</span></a></h2><p>IoTDB支持表级的数据自动过期删除(TTL)设置,允许系统自动定期删除旧数据,以有效控制磁盘空间并维护高性能查询和低内存占用。TTL默认以毫秒为单位,数据过期后不可查询且禁止写入,但物理删除会延迟至压缩时。需注意,TTL变更可能导致短暂数据可查询性变化。</p><p><strong>注意事项:</strong></p><ol><li>TTL设置为毫秒,不受配置文件时间精度影响。</li><li>TTL变更可能影响数据的可查询性。</li><li>系统最终会移除过期数据,但存在延迟。</li></ol><h2 id="_2-设置-ttl" tabindex="-1"><a class="header-anchor" href="#_2-设置-ttl"><span>2. 设置 TTL</span></a></h2><p>在表模型中,IoTDB 的 TTL 是按照表的粒度生效的。可以直接在表上设置 TTL,或者在数据库级别设置 TTL。当在数据库级别设置了TTL时,在创建新表的过程中,系统会自动采用这个TTL值作为新表的默认设置,但每个表仍然可以独立地被设置或覆盖该值。</p><p>注意,如果数据库级别的TTL被修改,不会直接影响到已经存在的表的TTL设置。</p><h3 id="_2-1-为表设置-ttl" tabindex="-1"><a class="header-anchor" href="#_2-1-为表设置-ttl"><span>2.1 为表设置 TTL</span></a></h3>',9)),o("p",null,[s[1]||(s[1]=a("如果在建表时通过sql语句设置了表的 TTL,则会以表的ttl为准。建表语句详情可见:")),e(l,{to:"/zh/UserGuide/latest-Table/Basic-Concept/Table-Management.html"},{default:t(()=>s[0]||(s[0]=[a("表管理")])),_:1})]),s[9]||(s[9]=n(`<p>示例1:创建表时设置 TTL</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> TABLE</span><span style="color:#61AFEF;"> test3</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">&quot;场站&quot;</span><span style="color:#ABB2BF;"> string id, </span><span style="color:#98C379;">&quot;温度&quot;</span><span style="color:#ABB2BF;"> int32) </span><span style="color:#C678DD;">with</span><span style="color:#ABB2BF;"> (TTL</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3600</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>示例2:更改表语句设置TTL:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">ALTER</span><span style="color:#C678DD;"> TABLE</span><span style="color:#ABB2BF;"> tableB </span><span style="color:#C678DD;">SET</span><span style="color:#ABB2BF;"> PROPERTIES TTL</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3600</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>示例3:不指定TTL或设为默认值,它将与数据库的TTL相同,默认情况下是&#39;INF&#39;(无穷大):</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> TABLE</span><span style="color:#61AFEF;"> test3</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">&quot;场站&quot;</span><span style="color:#ABB2BF;"> string id, </span><span style="color:#98C379;">&quot;温度&quot;</span><span style="color:#ABB2BF;"> int32) </span><span style="color:#C678DD;">with</span><span style="color:#ABB2BF;"> (TTL</span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;">DEFAULT</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> TABLE</span><span style="color:#61AFEF;"> test3</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">&quot;场站&quot;</span><span style="color:#ABB2BF;"> string id, </span><span style="color:#98C379;">&quot;温度&quot;</span><span style="color:#ABB2BF;"> int32)</span></span>
<span class="line"><span style="color:#C678DD;">ALTER</span><span style="color:#C678DD;"> TABLE</span><span style="color:#ABB2BF;"> tableB </span><span style="color:#C678DD;">set</span><span style="color:#ABB2BF;"> properties TTL</span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;">DEFAULT</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_2-2-为数据库设置-ttl" tabindex="-1"><a class="header-anchor" href="#_2-2-为数据库设置-ttl"><span>2.2 为数据库设置 TTL</span></a></h3>`,7)),o("p",null,[s[3]||(s[3]=a("没有设置表的TTL,则会继承database的ttl。建数据库语句详情可见:")),e(l,{to:"/zh/UserGuide/latest-Table/Basic-Concept/Database-Management.html"},{default:t(()=>s[2]||(s[2]=[a("数据库管理")])),_:1})]),s[10]||(s[10]=n(`<p>示例4:数据库设置为 ttl =3600000,将生成一个ttl=3600000的表:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> DATABASE</span><span style="color:#61AFEF;"> db</span><span style="color:#C678DD;"> WITH</span><span style="color:#ABB2BF;"> (ttl</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3600000</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#C678DD;">use</span><span style="color:#ABB2BF;"> db</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> TABLE</span><span style="color:#61AFEF;"> test3</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">&quot;场站&quot;</span><span style="color:#ABB2BF;"> string id, </span><span style="color:#98C379;">&quot;温度&quot;</span><span style="color:#ABB2BF;"> int32)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>示例5:数据库不设置ttl,将生成一个没有ttl的表:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> DATABASE</span><span style="color:#61AFEF;"> db</span></span>
<span class="line"><span style="color:#C678DD;">use</span><span style="color:#ABB2BF;"> db</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> TABLE</span><span style="color:#61AFEF;"> test3</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">&quot;场站&quot;</span><span style="color:#ABB2BF;"> string id, </span><span style="color:#98C379;">&quot;温度&quot;</span><span style="color:#ABB2BF;"> int32)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>示例6:数据库设置了ttl,但想显式设置没有TTL的表,可以将TTL设置为&#39;INF&#39;:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> DATABASE</span><span style="color:#61AFEF;"> db</span><span style="color:#C678DD;"> WITH</span><span style="color:#ABB2BF;"> (ttl</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3600000</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#C678DD;">use</span><span style="color:#ABB2BF;"> db</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> TABLE</span><span style="color:#61AFEF;"> test3</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">&quot;场站&quot;</span><span style="color:#ABB2BF;"> string id, </span><span style="color:#98C379;">&quot;温度&quot;</span><span style="color:#ABB2BF;"> int32) </span><span style="color:#C678DD;">with</span><span style="color:#ABB2BF;"> (ttl</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;INF&#39;</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_3-取消-ttl" tabindex="-1"><a class="header-anchor" href="#_3-取消-ttl"><span>3. 取消 TTL</span></a></h2><p>取消 TTL 设置,可以修改表的 TTL 设置为 &#39;INF&#39;。目前,IoTDB 不支持修改数据库的 TTL。</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">ALTER</span><span style="color:#C678DD;"> TABLE</span><span style="color:#ABB2BF;"> tableB </span><span style="color:#C678DD;">set</span><span style="color:#ABB2BF;"> properties TTL</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;INF&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h2 id="_4-查看-ttl-信息" tabindex="-1"><a class="header-anchor" href="#_4-查看-ttl-信息"><span>4. 查看 TTL 信息</span></a></h2>`,10)),o("p",null,[s[6]||(s[6]=a('使用 "SHOW DATABASES" 和 "SHOW TABLES" 命令可以直接显示数据库和表的 TTL 详情。数据库和表管理语句详情可见:')),e(l,{to:"/zh/UserGuide/latest-Table/Basic-Concept/Database-Management.html"},{default:t(()=>s[4]||(s[4]=[a("数据库管理")])),_:1}),s[7]||(s[7]=a("、")),e(l,{to:"/zh/UserGuide/latest-Table/Basic-Concept/Table-Management.html"},{default:t(()=>s[5]||(s[5]=[a("表管理")])),_:1})]),s[11]||(s[11]=n(`<blockquote><p>注意,树模型数据库的TTL也将显示。</p></blockquote><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> show databases</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+-----------------------+---------------------+---------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Database</span><span style="color:#ABB2BF;">|TTL(ms)|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+-----------------------+---------------------+---------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|test_prop| </span><span style="color:#D19A66;">300</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">100000</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| test2| </span><span style="color:#D19A66;">300</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">604800000</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+-----------------------+---------------------+---------------------+</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> show databases details</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+-----------------------+---------------------+---------------------+-----+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Database</span><span style="color:#ABB2BF;">|TTL(ms)|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|Model|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+-----------------------+---------------------+---------------------+-----+</span></span>
<span class="line"><span style="color:#ABB2BF;">|test_prop| </span><span style="color:#D19A66;">300</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">100000</span><span style="color:#ABB2BF;">|</span><span style="color:#C678DD;">TABLE</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| test2| </span><span style="color:#D19A66;">300</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">604800000</span><span style="color:#ABB2BF;">| TREE|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+-----------------------+---------------------+---------------------+-----+</span></span>
<span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> show tables</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|TableName|TTL(ms)|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| grass| </span><span style="color:#D19A66;">1000</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| bamboo| </span><span style="color:#D19A66;">300</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| flower| INF|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+</span></span>
<span class="line"></span>
<span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> show tables details</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|TableName|TTL(ms)| </span><span style="color:#C678DD;">Status</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| bean| </span><span style="color:#D19A66;">300</span><span style="color:#ABB2BF;">|PRE_CREATE|</span></span>
<span class="line"><span style="color:#ABB2BF;">| grass| </span><span style="color:#D19A66;">1000</span><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">USING</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| bamboo| </span><span style="color:#D19A66;">300</span><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">USING</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| flower| INF| </span><span style="color:#C678DD;">USING</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">---------+-------+----------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,2))])}const u=p(B,[["render",d],["__file","TTL-Delete-Data.html.vue"]]),A=JSON.parse('{"path":"/zh/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.html","title":"过期自动删除","lang":"zh-CN","frontmatter":{"description":"过期自动删除 1. 概览 IoTDB支持表级的数据自动过期删除(TTL)设置,允许系统自动定期删除旧数据,以有效控制磁盘空间并维护高性能查询和低内存占用。TTL默认以毫秒为单位,数据过期后不可查询且禁止写入,但物理删除会延迟至压缩时。需注意,TTL变更可能导致短暂数据可查询性变化。 注意事项: TTL设置为毫秒,不受配置文件时间精度影响。 TTL变更可...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"过期自动删除"}],["meta",{"property":"og:description","content":"过期自动删除 1. 概览 IoTDB支持表级的数据自动过期删除(TTL)设置,允许系统自动定期删除旧数据,以有效控制磁盘空间并维护高性能查询和低内存占用。TTL默认以毫秒为单位,数据过期后不可查询且禁止写入,但物理删除会延迟至压缩时。需注意,TTL变更可能导致短暂数据可查询性变化。 注意事项: TTL设置为毫秒,不受配置文件时间精度影响。 TTL变更可..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2025-03-04T06:04:48.000Z"}],["meta",{"property":"article:modified_time","content":"2025-03-04T06:04:48.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"过期自动删除\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-03-04T06:04:48.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"1. 概览","slug":"_1-概览","link":"#_1-概览","children":[]},{"level":2,"title":"2. 设置 TTL","slug":"_2-设置-ttl","link":"#_2-设置-ttl","children":[{"level":3,"title":"2.1 为表设置 TTL","slug":"_2-1-为表设置-ttl","link":"#_2-1-为表设置-ttl","children":[]},{"level":3,"title":"2.2 为数据库设置 TTL","slug":"_2-2-为数据库设置-ttl","link":"#_2-2-为数据库设置-ttl","children":[]}]},{"level":2,"title":"3. 取消 TTL","slug":"_3-取消-ttl","link":"#_3-取消-ttl","children":[]},{"level":2,"title":"4. 查看 TTL 信息","slug":"_4-查看-ttl-信息","link":"#_4-查看-ttl-信息","children":[]}],"git":{"createdTime":1735900165000,"updatedTime":1741068288000,"contributors":[{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":3,"url":"https://github.com/W1y1r"},{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":1,"url":"https://github.com/CritasWang"},{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":3,"url":"https://github.com/leto-b"}]},"readingTime":{"minutes":3.08,"words":925},"filePathRelative":"zh/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.md","localizedDate":"2025年1月3日","autoDesc":true}');export{u as comp,A as data};