forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Reviewed-by: Rechenburg, Matthias <matthias.rechenburg@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
89 lines
14 KiB
HTML
89 lines
14 KiB
HTML
<a name="EN-US_TOPIC_0000001381609405"></a><a name="EN-US_TOPIC_0000001381609405"></a>
|
|
|
|
<h1 class="topictitle1">How Do I Delete Table Data Efficiently?</h1>
|
|
<div id="body0000001381609405"><p id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_p8060118">Yes. <strong id="EN-US_TOPIC_0000001381609405__b71042668464829">TRUNCATE</strong> is more efficient than <strong id="EN-US_TOPIC_0000001381609405__b25205417864829">DELETE</strong> for deleting massive data.</p>
|
|
<p id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_p186111125165116">For details, see "TRUNCATE" in the <em id="EN-US_TOPIC_0000001381609405__i53263233964829">Data Warehouse Service (DWS) Developer Guide</em>.</p>
|
|
<div class="section" id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_section19800103934711"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_p1386956174711">TRUNCATE quickly removes all rows from a table. It has the same effect as an unqualified DELETE but since it does not actually scan the table it is faster. This is most effective on large tables.</p>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_section73932553477"><h4 class="sectiontitle">Functions</h4><ul id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_ul1830519634816"><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li173057610482"><strong id="EN-US_TOPIC_0000001381609405__b7616740064829">TRUNCATE TABLE</strong> works like a <strong id="EN-US_TOPIC_0000001381609405__b167476598064829">DELETE</strong> statement with no <strong id="EN-US_TOPIC_0000001381609405__b177854940764829">WHERE</strong> clause, that is, emptying a table.</li><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li530520694813"><strong id="EN-US_TOPIC_0000001381609405__b114928903464829">TRUNCATE TABLE</strong> uses less system and transaction log resources.<ul id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_ul193051624820"><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li1030515611486"><strong id="EN-US_TOPIC_0000001381609405__b45686712864829">DELETE</strong> deletes a row each time, and records each deletion in the transaction log.</li><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li17305176134813"><strong id="EN-US_TOPIC_0000001381609405__b181387820364829">TRUNCATE TABLE</strong> deletes all rows in a table by releasing the data page, and only records each releasing of the data page in the transaction log.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li33069654814"><strong id="EN-US_TOPIC_0000001381609405__b38468020964829">TRUNCATE</strong>, <strong id="EN-US_TOPIC_0000001381609405__b150431282264829">DELETE</strong>, and <strong id="EN-US_TOPIC_0000001381609405__b37487253564829">DROP</strong> are different in that:<ul id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_ul030626164812"><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li1330610664811"><strong id="EN-US_TOPIC_0000001381609405__b76881779464829">TRUNCATE TABLE</strong> deletes content, releases space, but does not delete definitions.</li><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li630636204810"><strong id="EN-US_TOPIC_0000001381609405__b190765173164829">DELETE TABLE</strong> deletes content, but does not delete definitions or release space.</li><li id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_li130696124811"><strong id="EN-US_TOPIC_0000001381609405__b54553405364829">DROP TABLE</strong> deletes content and definitions, and releases space.</li></ul>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001381609405__en-us_topic_0000001145896685_section18367856124816"><h4 class="sectiontitle">Examples</h4><ul id="EN-US_TOPIC_0000001381609405__ul205026173326"><li id="EN-US_TOPIC_0000001381609405__li550271719329">Create a table.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen3228415133620"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_t1</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001381609405__p19899173120313">Truncate the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen353224918385"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">TRUNCATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_t1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001381609405__p15899173114319">Delete the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen5911145333820"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">DROP</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_t1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001381609405__ul17718835133217"><li id="EN-US_TOPIC_0000001381609405__li17187357326">Create a partitioned table.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen554617395"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_p</span>
|
|
<span class="p">(</span>
|
|
<span class="w"> </span><span class="n">r_reason_sk</span><span class="w"> </span><span class="nb">integer</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">r_reason_id</span><span class="w"> </span><span class="nb">character</span><span class="p">(</span><span class="mi">16</span><span class="p">),</span>
|
|
<span class="w"> </span><span class="n">r_reason_desc</span><span class="w"> </span><span class="nb">character</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
|
|
<span class="p">)</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">RANGE</span><span class="w"> </span><span class="p">(</span><span class="n">r_reason_sk</span><span class="p">)</span>
|
|
<span class="p">(</span>
|
|
<span class="w"> </span><span class="n">partition</span><span class="w"> </span><span class="n">p_05_before</span><span class="w"> </span><span class="k">values</span><span class="w"> </span><span class="k">less</span><span class="w"> </span><span class="k">than</span><span class="w"> </span><span class="p">(</span><span class="mi">05</span><span class="p">),</span>
|
|
<span class="w"> </span><span class="n">partition</span><span class="w"> </span><span class="n">p_15</span><span class="w"> </span><span class="k">values</span><span class="w"> </span><span class="k">less</span><span class="w"> </span><span class="k">than</span><span class="w"> </span><span class="p">(</span><span class="mi">15</span><span class="p">),</span>
|
|
<span class="w"> </span><span class="n">partition</span><span class="w"> </span><span class="n">p_25</span><span class="w"> </span><span class="k">values</span><span class="w"> </span><span class="k">less</span><span class="w"> </span><span class="k">than</span><span class="w"> </span><span class="p">(</span><span class="mi">25</span><span class="p">),</span>
|
|
<span class="w"> </span><span class="n">partition</span><span class="w"> </span><span class="n">p_35</span><span class="w"> </span><span class="k">values</span><span class="w"> </span><span class="k">less</span><span class="w"> </span><span class="k">than</span><span class="w"> </span><span class="p">(</span><span class="mi">35</span><span class="p">),</span>
|
|
<span class="w"> </span><span class="n">partition</span><span class="w"> </span><span class="n">p_45_after</span><span class="w"> </span><span class="k">values</span><span class="w"> </span><span class="k">less</span><span class="w"> </span><span class="k">than</span><span class="w"> </span><span class="p">(</span><span class="k">MAXVALUE</span><span class="p">)</span>
|
|
<span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001381609405__p08691349113111">Insert data.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen1235451017396"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_p</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001381609405__p14869549193114">Truncate the <strong id="EN-US_TOPIC_0000001381609405__b76097389565040">p_05_before</strong> partition.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen19200131403919"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">ALTER</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_p</span><span class="w"> </span><span class="k">TRUNCATE</span><span class="w"> </span><span class="n">PARTITION</span><span class="w"> </span><span class="n">p_05_before</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001381609405__p1786919498311">Truncate the partition <strong id="EN-US_TOPIC_0000001381609405__b752707011">p_15</strong> where 13 is located.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen18945017153919"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">ALTER</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_p</span><span class="w"> </span><span class="k">TRUNCATE</span><span class="w"> </span><span class="n">PARTITION</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="mi">13</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001381609405__p18868184983111">Truncate the partitioned table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen18698921183919"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">TRUNCATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_p</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001381609405__p17868154943112">Delete the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001381609405__screen7246826183910"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">DROP</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tpcds</span><span class="p">.</span><span class="n">reason_p</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_03_0065.html">Database Usage</a></div>
|
|
</div>
|
|
</div>
|
|
|