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>
106 lines
40 KiB
HTML
106 lines
40 KiB
HTML
<a name="EN-US_TOPIC_0000001578910086"></a><a name="EN-US_TOPIC_0000001578910086"></a>
|
|
|
|
<h1 class="topictitle1">Case: Pushing Down Sort Operations to DNs</h1>
|
|
<div id="body32001227"><p id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_p19126183813503">In an execution plan, more than 95% of the execution time is spent on <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b55851251448">window agg</strong> performed on the CN. In this case, <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b16836459319459">sum</strong> is performed for the two columns separately, and then another <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b4294522439459">sum</strong> is performed for the separate sum results of the two columns. After this, trunc and sorting are performed in sequence. You can try to rewrite the statement into a subquery to push down the sorting operations.</p>
|
|
<div class="section" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_s07947b256b6b4780a6a6a749c807a082"><h4 class="sectiontitle">Before optimization</h4><p id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_ab66903e7f54c413688aa2261652bd160">The table structure is as follows:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_s4a6d1aa414c145fca8f0d222705f1aba"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</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="k">public</span><span class="p">.</span><span class="n">test</span><span class="p">(</span><span class="n">imsi</span><span class="w"> </span><span class="nb">int</span><span class="p">,</span><span class="n">L4_DW_THROUGHPUT</span><span class="w"> </span><span class="nb">int</span><span class="p">,</span><span class="n">L4_UL_THROUGHPUT</span><span class="w"> </span><span class="nb">int</span><span class="p">)</span>
|
|
<span class="k">with</span><span class="w"> </span><span class="p">(</span><span class="n">orientation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">column</span><span class="p">)</span><span class="w"> </span><span class="n">DISTRIBUTE</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">hash</span><span class="p">(</span><span class="n">imsi</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_a73f38ee1e7e64dd2b3414592456800e8">The query statements are as follows:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_sbeff6568c153439987ab5048c9c0df5b"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">over</span><span class="p">()</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DATACNT</span><span class="p">,</span>
|
|
<span class="n">IMSI</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">IMSI_IMSI</span><span class="p">,</span>
|
|
<span class="k">CAST</span><span class="p">(</span><span class="n">TRUNC</span><span class="p">(((</span><span class="k">SUM</span><span class="p">(</span><span class="n">L4_UL_THROUGHPUT</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="k">SUM</span><span class="p">(</span><span class="n">L4_DW_THROUGHPUT</span><span class="p">))),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span>
|
|
<span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">20</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">TOTAL_VOLOME_KPIID</span>
|
|
<span class="k">FROM</span><span class="w"> </span><span class="k">public</span><span class="p">.</span><span class="n">test</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">test</span>
|
|
<span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">IMSI</span>
|
|
<span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">TOTAL_VOLOME_KPIID</span><span class="w"> </span><span class="k">DESC</span><span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
</div>
|
|
<div class="p" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_a802c8948f44d4544bbcdfaf606efab0a">The execution plan is as follows:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_sa4048a4a2e8649cda5ef8245d6bea47a"><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></pre></div></td><td class="code"><div><pre><span></span><span class="n">QUERY</span><span class="w"> </span><span class="n">PLAN</span><span class="w"> </span>
|
|
<span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
|
|
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">operation</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">-</span><span class="k">time</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">-</span><span class="k">rows</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="k">rows</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="k">distinct</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Peak</span><span class="w"> </span><span class="n">Memory</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="n">memory</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">-</span><span class="n">width</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="n">width</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="n">costs</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="c1">----+--------------------------------------------------+------------------+---------+---------+------------+--------------+--------------+---------+---------+----------</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="k">Row</span><span class="w"> </span><span class="n">Adapter</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2862</span><span class="p">.</span><span class="mi">008</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">31</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">48360</span><span class="p">.</span><span class="mi">42</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="k">Limit</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2861</span><span class="p">.</span><span class="mi">969</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">8</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">48360</span><span class="p">.</span><span class="mi">42</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">Sort</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2861</span><span class="p">.</span><span class="mi">946</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">479</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">50860</span><span class="p">.</span><span class="mi">39</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">WindowAgg</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2166</span><span class="p">.</span><span class="mi">759</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">69987</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">26750</span><span class="p">.</span><span class="mi">75</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">Streaming</span><span class="w"> </span><span class="p">(</span><span class="k">type</span><span class="p">:</span><span class="w"> </span><span class="n">GATHER</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">136</span><span class="p">.</span><span class="mi">813</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">208</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">15500</span><span class="p">.</span><span class="mi">75</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">6</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">Sonic</span><span class="w"> </span><span class="n">Hash</span><span class="w"> </span><span class="k">Aggregate</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">71</span><span class="p">.</span><span class="mi">374</span><span class="p">,</span><span class="w"> </span><span class="mi">73</span><span class="p">.</span><span class="mi">640</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">14</span><span class="n">MB</span><span class="p">,</span><span class="w"> </span><span class="mi">14</span><span class="n">MB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">96</span><span class="n">MB</span><span class="p">(</span><span class="mi">2919</span><span class="n">MB</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">31</span><span class="p">,</span><span class="mi">31</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">15032</span><span class="p">.</span><span class="mi">00</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">CStore</span><span class="w"> </span><span class="n">Scan</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="k">public</span><span class="p">.</span><span class="n">test</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">.</span><span class="mi">957</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">994</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="n">MB</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="n">MB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="n">MB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1282</span><span class="p">.</span><span class="mi">00</span><span class="w"> </span>
|
|
</pre></div></td></tr></table></div>
|
|
</div>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_a889f6f5437f040a3aa98c9d0561b10b5">As we can see, both <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b12353518039459">window agg</strong> and <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b8955251159459">sort</strong> are performed on the CN, which is time consuming.</p>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_s2853f5534a9447d8af70b01b99f7e554"><h4 class="sectiontitle">After optimization</h4><p id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_a873821e7070c4dfcab9f0d351370ae12">Modify the statement to a subquery statement, as shown below:</p>
|
|
</div>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_sd2785499b44449fb8f394ada6609bea5"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">over</span><span class="p">()</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DATACNT</span><span class="p">,</span><span class="w"> </span><span class="n">IMSI_IMSI</span><span class="p">,</span><span class="w"> </span><span class="n">TOTAL_VOLOME_KPIID</span>
|
|
<span class="k">FROM</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">IMSI</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">IMSI_IMSI</span><span class="p">,</span>
|
|
<span class="k">CAST</span><span class="p">(</span><span class="n">TRUNC</span><span class="p">(((</span><span class="k">SUM</span><span class="p">(</span><span class="n">L4_UL_THROUGHPUT</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="k">SUM</span><span class="p">(</span><span class="n">L4_DW_THROUGHPUT</span><span class="p">))),</span>
|
|
<span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">20</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">TOTAL_VOLOME_KPIID</span>
|
|
<span class="k">FROM</span><span class="w"> </span><span class="k">public</span><span class="p">.</span><span class="n">test</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">test</span>
|
|
<span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">IMSI</span>
|
|
<span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">TOTAL_VOLOME_KPIID</span><span class="w"> </span><span class="k">DESC</span><span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_a575723cc8c434f4dbda2babf5a352bb4">Perform <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b842352706103023">sum</strong> on the <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b842352706103028">trunc</strong> results of the two columns, take it as a subquery, and then perform <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b84235270610316">window agg</strong> for the subquery to push down the sorting operation to DNs, as shown below:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_sb54e7b3e24e742eb83188d0e753dd16a"><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="w"> </span><span class="n">QUERY</span><span class="w"> </span><span class="n">PLAN</span><span class="w"> </span>
|
|
<span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
|
|
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">operation</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">-</span><span class="k">time</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">-</span><span class="k">rows</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="k">rows</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="k">distinct</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Peak</span><span class="w"> </span><span class="n">Memory</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="n">memory</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">-</span><span class="n">width</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="n">width</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="o">-</span><span class="n">costs</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="c1">----+--------------------------------------------------------+--------------------+---------+---------+------------+----------------+--------------+---------+---------+----------</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="k">Row</span><span class="w"> </span><span class="n">Adapter</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">955</span><span class="p">.</span><span class="mi">277</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">31</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">24</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">25843</span><span class="p">.</span><span class="mi">13</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">WindowAgg</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">955</span><span class="p">.</span><span class="mi">261</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1572</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">24</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">25843</span><span class="p">.</span><span class="mi">13</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">Streaming</span><span class="w"> </span><span class="p">(</span><span class="k">type</span><span class="p">:</span><span class="w"> </span><span class="n">GATHER</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">955</span><span class="p">.</span><span class="mi">015</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">127</span><span class="n">KB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">24</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">25843</span><span class="p">.</span><span class="mi">07</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="k">Limit</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">.</span><span class="mi">018</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">018</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">8</span><span class="n">KB</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="n">KB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="n">MB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">25836</span><span class="p">.</span><span class="mi">97</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">Streaming</span><span class="p">(</span><span class="k">type</span><span class="p">:</span><span class="w"> </span><span class="n">BROADCAST</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">.</span><span class="mi">014</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">014</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">719</span><span class="n">KB</span><span class="p">,</span><span class="w"> </span><span class="mi">719</span><span class="n">KB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="n">MB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">25837</span><span class="p">.</span><span class="mi">12</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">6</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="k">Limit</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">927</span><span class="p">.</span><span class="mi">730</span><span class="p">,</span><span class="w"> </span><span class="mi">934</span><span class="p">.</span><span class="mi">283</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">8</span><span class="n">KB</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="n">KB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="n">MB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">25836</span><span class="p">.</span><span class="mi">85</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">Sort</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">927</span><span class="p">.</span><span class="mi">720</span><span class="p">,</span><span class="w"> </span><span class="mi">934</span><span class="p">.</span><span class="mi">269</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">463</span><span class="n">KB</span><span class="p">,</span><span class="w"> </span><span class="mi">463</span><span class="n">KB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">16</span><span class="n">MB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">32</span><span class="p">,</span><span class="mi">32</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">27086</span><span class="p">.</span><span class="mi">82</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">8</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Vector</span><span class="w"> </span><span class="n">Sonic</span><span class="w"> </span><span class="n">Hash</span><span class="w"> </span><span class="k">Aggregate</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">456</span><span class="p">.</span><span class="mi">841</span><span class="p">,</span><span class="w"> </span><span class="mi">461</span><span class="p">.</span><span class="mi">077</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">15</span><span class="n">MB</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="n">MB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">96</span><span class="n">MB</span><span class="p">(</span><span class="mi">2916</span><span class="n">MB</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">31</span><span class="p">,</span><span class="mi">31</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">28</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">15032</span><span class="p">.</span><span class="mi">00</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="mi">9</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">CStore</span><span class="w"> </span><span class="n">Scan</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="k">public</span><span class="p">.</span><span class="n">test</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">.</span><span class="mi">959</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">014</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="n">MB</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="n">MB</span><span class="p">]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="n">MB</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1282</span><span class="p">.</span><span class="mi">00</span><span class="w"> </span>
|
|
</pre></div></td></tr></table></div>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_a89ed7f10e82b49109f73ddd341cbd260">The optimized SQL statement greatly improves the performance by reducing the execution time from 2.862s to 0.955s. Note that the optimization result in this example is for reference only. Due to the uncertainty of <strong id="EN-US_TOPIC_0000001578910086__en-us_topic_0000001188642182_b1627113985920">WindowAgg</strong>, the optimized result set is related to the actual service.</p>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_04_0474.html">Optimization Cases</a></div>
|
|
</div>
|
|
</div>
|
|
|