forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
158 lines
32 KiB
HTML
158 lines
32 KiB
HTML
<a name="EN-US_TOPIC_0000001233628613"></a><a name="EN-US_TOPIC_0000001233628613"></a>
|
|
|
|
<h1 class="topictitle1">EXPLAIN</h1>
|
|
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001233628613__s6d76596f86d64c349027bceb1b4d5ecf"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001233628613__a10219281d34643fab09cc84cb2c7d469"><strong id="EN-US_TOPIC_0000001233628613__b84235270684013">EXPLAIN</strong> shows the execution plan of an SQL statement.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a3b2b3ec3257144e09a1db99b32de75a1">The execution plan shows how the tables referenced by the SQL statement will be scanned, for example, by plain sequential scan or index scan. If multiple tables are referenced, the execution plan also shows what join algorithms will be used to bring together the required rows from each input table.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__ae5b601e61dfe426491d94bba204c4f93">The most critical part of the display is the estimated statement execution cost, which is the planner's guess at how long it will take to run the statement.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__af53c3af9e52e443c8452e8c1dfaefc82">The <strong id="EN-US_TOPIC_0000001233628613__en-us_topic_0058965750_b3399900295747">ANALYZE</strong> option causes the statement to be executed, not only planned. Then actual runtime statistics are added to the display, including the total elapsed time expended within each plan node (in milliseconds) and the total number of rows it actually returned. This is useful to check whether the planner's estimates are close to reality.</p>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233628613__s3b7c750a2989482c9f6ef4e8dc83b87f"><h4 class="sectiontitle">Precautions</h4><p id="EN-US_TOPIC_0000001233628613__a9993385f7e9e48caa3857cda881d4347">The statement is executed when the <strong id="EN-US_TOPIC_0000001233628613__en-us_topic_0058965750_b6469890895747">ANALYZE</strong> option is used. To use <strong id="EN-US_TOPIC_0000001233628613__b4541926095747">EXPLAIN ANALYZE</strong> on an <strong id="EN-US_TOPIC_0000001233628613__b612016395747">INSERT</strong>, <strong id="EN-US_TOPIC_0000001233628613__b5508147395747">UPDATE</strong>, <strong id="EN-US_TOPIC_0000001233628613__b2597121595747">DELETE</strong>, <strong id="EN-US_TOPIC_0000001233628613__b3241435195747">CREATE TABLE AS</strong>, or <strong id="EN-US_TOPIC_0000001233628613__b2329370495747">EXECUTE</strong> statement without letting the command affect your data, use this approach:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__s9e50f26249044d2380369b4c3a610a71"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
|
|
<span class="k">EXPLAIN</span><span class="w"> </span><span class="k">ANALYZE</span><span class="w"> </span><span class="p">...;</span>
|
|
<span class="k">ROLLBACK</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233628613__sc84793f49b574a61b9632346b81ffcdd"><h4 class="sectiontitle">Syntax</h4><ul id="EN-US_TOPIC_0000001233628613__ucd31b7639c294770a608d69261b690b7"><li id="EN-US_TOPIC_0000001233628613__l583ae9453d274e7dacfd89f426e39907">Display the execution plan of an SQL statement, which supports multiple options and has no requirements for the order of options.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__sfd602d1d75be44c78aafcf53bc474374"><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">EXPLAIN</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="k">option</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="k">statement</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__a78f9f5640c3142ba941f74484b2802eb">The syntax of the <strong id="EN-US_TOPIC_0000001233628613__b84235270683413">option</strong> clause is as follows:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__s76a15a5de65c4cd6a970c0dff7001dc8"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">ANALYZE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="k">ANALYSE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="k">VERBOSE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">COSTS</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">CPU</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">DETAIL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">NODES</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">NUM_NODES</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">BUFFERS</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">TIMING</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">PLAN</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span>
|
|
<span class="w"> </span><span class="n">FORMAT</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="nb">TEXT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">XML</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">JSON</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">YAML</span><span class="w"> </span><span class="err">}</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l8c3532dada9c4b1a80f19159719811ff">Display the execution plan of an SQL statement, where options are in order:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__s19cde52ab84c4120a04ef1f85fd548be"><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">EXPLAIN</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">ANALYZE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ANALYSE</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">VERBOSE</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">PERFORMANCE</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="k">statement</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__li019221117455">Display information required for reproducing the execution plan of an SQL statement. The information is usually used for fault locating. The <strong id="EN-US_TOPIC_0000001233628613__b43725465192">STATS</strong> option must be used independently:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen169883592539"><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">EXPLAIN</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">STATS</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">statement</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233628613__sf9b20584716b490793feec79523aeb3b"><h4 class="sectiontitle">Parameter Description</h4><ul id="EN-US_TOPIC_0000001233628613__u8e9d143838c04e23855ce21f6a55305a"><li id="EN-US_TOPIC_0000001233628613__l0c86409597e147daa3ee23fe413fb6e1"><strong id="EN-US_TOPIC_0000001233628613__a5beff8a46252454fb643cec88c59a846">statement</strong><p id="EN-US_TOPIC_0000001233628613__a6ff588c0790642e6bbc8ac0450e9f867">Specifies the SQL statement to explain.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__lab5d1515c3104e1bb169a06143b7d19f"><strong id="EN-US_TOPIC_0000001233628613__ad9114e548a174a6489d6a2c7bd57789f">ANALYZE boolean | ANALYSE boolean</strong><p id="EN-US_TOPIC_0000001233628613__ac4b2934c510e44be8fcaca7980d059e6">Displays the actual run times and other statistics.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a4407e33adca94558ad3979d5002701b6">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__u41b111d062b34a25a152d3350d0e9fd3"><li id="EN-US_TOPIC_0000001233628613__ld0c7de9048444680aebf44b2e8544a0d"><strong id="EN-US_TOPIC_0000001233628613__b92042508133438">TRUE</strong> (default value): Displays the actual run times and other statistics.</li><li id="EN-US_TOPIC_0000001233628613__l4b73db6aab7946a1aba8e36e890edbf2"><strong id="EN-US_TOPIC_0000001233628613__b160667707833438">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l15726d25e1e8496c89d7dac7262ccc44"><strong id="EN-US_TOPIC_0000001233628613__ab454aa50e4fd4496849a8ebee818ef83">VERBOSE boolean</strong><p id="EN-US_TOPIC_0000001233628613__ab99123f3d9ae4d729107c94187a4a5ca">Displays additional information regarding the plan.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__ac61fdec423c54d2199a0dfb36479b544">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__u9f7bb4d094c44d0db0d796e56bac6a81"><li id="EN-US_TOPIC_0000001233628613__ld0af79001c0f4a78aaad8924da2eb141"><strong id="EN-US_TOPIC_0000001233628613__b842352706165516">TRUE </strong>(default value): Displays additional information.</li><li id="EN-US_TOPIC_0000001233628613__lf52984185f5743ba84357bb9c78c7309"><strong id="EN-US_TOPIC_0000001233628613__b3765884133438">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__ld68b10b0d7674614be0b83705e477d6c"><strong id="EN-US_TOPIC_0000001233628613__a0acf77a875e8432ab3c30dec4b6a27df">COSTS boolean</strong><p id="EN-US_TOPIC_0000001233628613__ae71504500fca4b12b72098a817ddc96f">Includes information on the estimated total cost of each plan node, as well as the estimated number of rows and the estimated width of each row.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__aa4af23af89bd43fb9e0add3b4bc73d0d">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__ue1a38eba4ac94b94a28fa5f2c594e6e9"><li id="EN-US_TOPIC_0000001233628613__l835169c6a22c49e0a4c0bad03b4f7532"><strong id="EN-US_TOPIC_0000001233628613__en-us_topic_0058965750_b38364531181648">TRUE</strong> (default): Displays information on the estimated total cost of each plan node and the estimated width of each row.</li><li id="EN-US_TOPIC_0000001233628613__l2863e490ac294224b520b88d62958796"><strong id="EN-US_TOPIC_0000001233628613__b171414058133438">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__laf4c2342a67e4b4590ec17381300ab9b"><strong id="EN-US_TOPIC_0000001233628613__a01e4912ce47e4eb5953f961b8a14f14f">CPU boolean</strong><p id="EN-US_TOPIC_0000001233628613__af0282728d9a540d3a412b5d6e8189a91">Prints information on CPU usage.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a973b05dadb3148eba08596285e3ed6a5">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__uc84aec1f95bc4d16a8cb36dcba883f05"><li id="EN-US_TOPIC_0000001233628613__l862725718f5b4f1aa5f5a19ed860420d"><strong id="EN-US_TOPIC_0000001233628613__b11956542333438">TRUE</strong> (default value): Displays CPU usage information.</li><li id="EN-US_TOPIC_0000001233628613__l2cce40c00cc34821b92a408e917e4d9b"><strong id="EN-US_TOPIC_0000001233628613__b119983924233438">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l301c05af893b41a7ba0e87a3f3e68aa5"><strong id="EN-US_TOPIC_0000001233628613__af2bb6f863e0d42c4ab9a48a7cfc74e11">DETAIL boolean</strong><p id="EN-US_TOPIC_0000001233628613__ad49b2e4b596e4e5581ea5317be656413">Prints DN information.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__ab66d6ec0ff544b74a430d92fa9c12962">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__u6df3dbd2e7d441a1aaa1b250125d7fd5"><li id="EN-US_TOPIC_0000001233628613__l062996575a1d42ff8aae0d1b0f1431eb"><strong id="EN-US_TOPIC_0000001233628613__b842352706165550">TRUE</strong> (default value): Prints DN information.</li><li id="EN-US_TOPIC_0000001233628613__lfc046f1528df44f3a002b92a6d11dd1c"><strong id="EN-US_TOPIC_0000001233628613__en-us_topic_0058965750_b842352706191149">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__la928da8ad34a4777b425cab7831370ef"><strong id="EN-US_TOPIC_0000001233628613__ade5352fe25e14f73a6eedcaed90f310d">NODES boolean</strong><p id="EN-US_TOPIC_0000001233628613__a9e6cb5b1837e44b4ac50b95bf1686bd5">Prints information about the nodes executed by query.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a832ad02d270b4cd7b4c6b51697e81569">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__ue67a5fac6852467e9d876ffbc85366da"><li id="EN-US_TOPIC_0000001233628613__le8309e8f0c8b4950bbac2314be3b7772"><strong id="EN-US_TOPIC_0000001233628613__en-us_topic_0058965750_b84235270619118">TRUE</strong> (default): Prints information about executed nodes.</li><li id="EN-US_TOPIC_0000001233628613__l5e8ca05d7fe8463a91e59519db9a5dcd"><strong id="EN-US_TOPIC_0000001233628613__b1983046044">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l5e1f12f54b444d57a37cddd66069f24a"><strong id="EN-US_TOPIC_0000001233628613__a5a0f21e5a81d4828ac3812af88d22cb5">NUM_NODES boolean</strong><p id="EN-US_TOPIC_0000001233628613__a79054365887f4a7391203246bc7ab467">Prints the quantity of executing nodes.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a78e3d0d2091e40beb2dd5b56dcb344ca">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__u171cafe552f24d5987f92d1040be0c22"><li id="EN-US_TOPIC_0000001233628613__l866af77f88ec4019b2672bfdc4762989"><strong id="EN-US_TOPIC_0000001233628613__b1129606922">TRUE</strong> (default value): Prints the number of DNs.</li><li id="EN-US_TOPIC_0000001233628613__l39d441fcd14d4ba0aafeb53ccd246fb8"><strong id="EN-US_TOPIC_0000001233628613__b2102753912">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l7836b09f6147420088725400d352cf5c"><strong id="EN-US_TOPIC_0000001233628613__aa5c3a188a4364031a9fdc9d021071bf6">BUFFERS boolean</strong><p id="EN-US_TOPIC_0000001233628613__a02bd45b14a6943fdb2ffb7559487c1ae">Includes information on buffer usage.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a97394dc7806d481790a8b51347501b64">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__u880577db7944407eaf26bbab0222cb2e"><li id="EN-US_TOPIC_0000001233628613__lb653597eace84cca851de3f7aa3d4908"><strong id="EN-US_TOPIC_0000001233628613__b90862392433438">TRUE</strong>: Displays information on buffer usage.</li><li id="EN-US_TOPIC_0000001233628613__l41c9461a4a444e918881a04cb731f6a2"><strong id="EN-US_TOPIC_0000001233628613__en-us_topic_0058965750_b3632688318182">FALSE</strong> (default): No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l8933cf25158c4ae4aca6a10296b2f9a5"><strong id="EN-US_TOPIC_0000001233628613__a18cdeb588d7043319183600e9443ccd1">TIMING boolean</strong><p id="EN-US_TOPIC_0000001233628613__abeb31edb5fb2463992aed7228028db7a">Includes the startup time and the time spent on the output node.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a1c41bab3c57f41daa62dcd537a6fc9f8">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__u8056369262144ca48ec6b4bff62f201d"><li id="EN-US_TOPIC_0000001233628613__l1762dd2b68ca4c8ca3e92c5996ae5ec9"><strong id="EN-US_TOPIC_0000001233628613__en-us_topic_0058965750_b842352706914">TRUE</strong> (Default): Displays the startup time and the time spent on the output node.</li><li id="EN-US_TOPIC_0000001233628613__lcab2fe7ed60849aa89ef8637a510cd6b"><strong id="EN-US_TOPIC_0000001233628613__b158293783433438">FALSE</strong>: No display.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__li12341535103317"><strong id="EN-US_TOPIC_0000001233628613__b192347359333">PLAN</strong><p id="EN-US_TOPIC_0000001233628613__p42341735193319">Specifies whether to store the execution plan in <strong id="EN-US_TOPIC_0000001233628613__b1081094611103">PLAN_TABLE</strong>. If this parameter is set to <strong id="EN-US_TOPIC_0000001233628613__b20560162314115">on</strong>, the execution plan is stored in <strong id="EN-US_TOPIC_0000001233628613__b19331333191115">PLAN_TABLE</strong> and is not displayed on the screen. Therefore, this parameter cannot be used together with other parameters when it is set to <strong id="EN-US_TOPIC_0000001233628613__b1247911311127">on</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__p2023413519334">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__ul14234183516334"><li id="EN-US_TOPIC_0000001233628613__li52341935173312"><strong id="EN-US_TOPIC_0000001233628613__b1779245014121">on</strong>: The execution plan is stored in <strong id="EN-US_TOPIC_0000001233628613__b15604223131">PLAN_TABLE</strong> and is not printed on the screen. It is the default value. If the plan is stored successfully, <strong id="EN-US_TOPIC_0000001233628613__b103871217151411">EXPLAIN SUCCESS</strong> is returned.</li><li id="EN-US_TOPIC_0000001233628613__li1234335113316"><strong id="EN-US_TOPIC_0000001233628613__b1889318246145">off</strong>: The execution plan is not stored in <strong id="EN-US_TOPIC_0000001233628613__b142094061414">PLAN_TABLE</strong> and is printed on the screen.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l51f59ecf0c034da1a5a2afc09f521688"><strong id="EN-US_TOPIC_0000001233628613__ab1f84f509fc24a488b06313a652e5cba">FORMAT</strong><p id="EN-US_TOPIC_0000001233628613__ace74c130d42749428cf79e685c38e242">Specifies the output format.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__af3847221b89b4ea89d0b39151e9f07de">Value range: <strong id="EN-US_TOPIC_0000001233628613__b842352706101741">TEXT</strong>, <strong id="EN-US_TOPIC_0000001233628613__b842352706101745">XML</strong>, <strong id="EN-US_TOPIC_0000001233628613__b842352706101750">JSON</strong>, and <strong id="EN-US_TOPIC_0000001233628613__b842352706101755">YAML</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__a89838b2d11fa4c5fbb25752d254f2330">Default value: <strong id="EN-US_TOPIC_0000001233628613__b842352706184049">TEXT</strong></p>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__l1c715ced0d6e4d4c982feede2254ba2e"><strong id="EN-US_TOPIC_0000001233628613__a9c4795e9418d429c8d5cfc333cbf9653">PERFORMANCE</strong><p id="EN-US_TOPIC_0000001233628613__a9359815b09954ec88ad3afc2eda9f569">This option prints all relevant information in execution.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233628613__li7229124165910"><strong id="EN-US_TOPIC_0000001233628613__b3971743202713">STATS boolean</strong><p id="EN-US_TOPIC_0000001233628613__p1333065575919">Specifies whether to display information required for reproducing the execution plan of an SQL statement, including the object definition, statistics, and configuration parameters. The information is usually used for fault locating.</p>
|
|
<p id="EN-US_TOPIC_0000001233628613__p53516431206">Valid value:</p>
|
|
<ul id="EN-US_TOPIC_0000001233628613__ul25713372113"><li id="EN-US_TOPIC_0000001233628613__li105719377111"><strong id="EN-US_TOPIC_0000001233628613__b1226173112219">TRUE</strong> (default value): Display information required for reproducing the execution plan of an SQL statement.</li><li id="EN-US_TOPIC_0000001233628613__li18966461021"><strong id="EN-US_TOPIC_0000001233628613__b190184116337">FALSE</strong>: No display.</li></ul>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233628613__s5dc35afde7e5405a9528ecf213079885"><h4 class="sectiontitle">Examples</h4><p id="EN-US_TOPIC_0000001233628613__p11270558191416">Create the <strong id="EN-US_TOPIC_0000001233628613__b120177531633438">customer_address_p1</strong> table:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen17605155161511"><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">customer_address_p1</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">customer_address</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p1026910582147">Change the value of <strong id="EN-US_TOPIC_0000001233628613__b12509048033438">explain_perf_mode</strong> to <strong id="EN-US_TOPIC_0000001233628613__b4995511333438">normal</strong>:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen993312115151"><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">SET</span><span class="w"> </span><span class="n">explain_perf_mode</span><span class="o">=</span><span class="n">normal</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p11269558181413">Display an execution plan for simple queries in the table:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen7671132251510"><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">EXPLAIN</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">customer_address_p1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p105462219511"><span><img id="EN-US_TOPIC_0000001233628613__image12383748655" src="figure/en-us_image_0000001798611242.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001233628613__p1269558131412">Generate an execution plan in JSON format (assume <strong id="EN-US_TOPIC_0000001233628613__b173000091933438">explain_perf_mode</strong> is set to <strong id="EN-US_TOPIC_0000001233628613__b160967936933438">normal</strong>):</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen177414336150"><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">EXPLAIN</span><span class="p">(</span><span class="n">FORMAT</span><span class="w"> </span><span class="n">JSON</span><span class="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">customer_address_p1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p1331010257618"><span><img id="EN-US_TOPIC_0000001233628613__image524019231078" src="figure/en-us_image_0000001798454744.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001233628613__p426918589146">If there is an index and we use a query with an indexable <strong id="EN-US_TOPIC_0000001233628613__b211827744733438">WHERE</strong> condition, <strong id="EN-US_TOPIC_0000001233628613__b9539481933438">EXPLAIN</strong> might show a different plan:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen6408194321515"><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">EXPLAIN</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">customer_address_p1</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">ca_address_sk</span><span class="o">=</span><span class="mi">10000</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p18384114120215"><span><img id="EN-US_TOPIC_0000001233628613__image1171924362118" src="figure/en-us_image_0000001845403749.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001233628613__p142681658131416">Generate an execution plan in YAML format (assume <strong id="EN-US_TOPIC_0000001233628613__b127856581433438">explain_perf_mode</strong> is set to <strong id="EN-US_TOPIC_0000001233628613__b101668194533438">normal</strong>):</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen941757101511"><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">EXPLAIN</span><span class="p">(</span><span class="n">FORMAT</span><span class="w"> </span><span class="n">YAML</span><span class="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">customer_address_p1</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">ca_address_sk</span><span class="o">=</span><span class="mi">10000</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p3268115811140">Here is an example of an execution plan with cost estimates suppressed:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen1633718612169"><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">EXPLAIN</span><span class="p">(</span><span class="n">COSTS</span><span class="w"> </span><span class="k">FALSE</span><span class="p">)</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">customer_address_p1</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">ca_address_sk</span><span class="o">=</span><span class="mi">10000</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p9268658181416">Here is an example of an execution plan for a query that uses an aggregate function:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen1716413151163"><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">EXPLAIN</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="k">SUM</span><span class="p">(</span><span class="n">ca_address_sk</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">customer_address_p1</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">ca_address_sk</span><span class="o"><</span><span class="mi">10000</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233628613__p16268155881413">Delete the <strong id="EN-US_TOPIC_0000001233628613__b157539379533438">customer_address_p1</strong> table:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233628613__screen1286572271613"><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">customer_address_p1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233628613__s8fc856109f514a0d843fe8c2d45e3728"><h4 class="sectiontitle">Helpful Links</h4><p id="EN-US_TOPIC_0000001233628613__a86858cef28c64b9db491c9c9e5961c09"><a href="dws_06_0245.html">ANALYZE | ANALYSE</a></p>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0227.html">DML Syntax</a></div>
|
|
</div>
|
|
</div>
|
|
|