Files
doc-exports/docs/dws/dev/dws_04_1208.html
luhuayi 177cd61a57 DWS DEVG 910.211 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: luhuayi <luhuayi@huawei.com>
Co-committed-by: luhuayi <luhuayi@huawei.com>
2025-05-05 07:44:03 +00:00

31 lines
5.1 KiB
HTML

<a name="EN-US_TOPIC_0000001764492008"></a><a name="EN-US_TOPIC_0000001764492008"></a>
<h1 class="topictitle1">Dictionary Code Hint</h1>
<div id="body0000001716115346"><div class="section" id="EN-US_TOPIC_0000001764492008__section13164498444"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001764492008__p5827123917412">Specifies a column to construct a dictionary code. The comparison of character strings in the dictionary code is converted into the comparison of numbers, which accelerates the query speed such as <strong id="EN-US_TOPIC_0000001764492008__b1533614101532">group by</strong> and <strong id="EN-US_TOPIC_0000001764492008__b868731211539">filter</strong>. This hint is supported only by clusters of version 8.3.0 or later.</p>
</div>
<div class="section" id="EN-US_TOPIC_0000001764492008__section204891551549"><h4 class="sectiontitle">Precautions</h4><ul id="EN-US_TOPIC_0000001764492008__ul1320816391064"><li id="EN-US_TOPIC_0000001764492008__li202109410619">Currently, only the new version hstore tables are supported (the table-level parameter <strong id="EN-US_TOPIC_0000001764492008__b189791137184310">enable_hstore_opt</strong> is set to <strong id="EN-US_TOPIC_0000001764492008__b1082124014439">on</strong>).</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001764492008__section1382475184412"><h4 class="sectiontitle">Syntax</h4><pre class="screen" id="EN-US_TOPIC_0000001764492008__screen02371522175818"> /* + ( no ) dict(table (column)) */</pre>
</div>
<div class="section" id="EN-US_TOPIC_0000001764492008__section182813544448"><h4 class="sectiontitle">Parameter description</h4><ul id="EN-US_TOPIC_0000001764492008__ul6373183024718"><li id="EN-US_TOPIC_0000001764492008__li19373113024715">dict(table (column))<p id="EN-US_TOPIC_0000001764492008__p1262864010479"><a name="EN-US_TOPIC_0000001764492008__li19373113024715"></a><a name="li19373113024715"></a>Column with the dictionary encoding table enabled.</p>
</li><li id="EN-US_TOPIC_0000001764492008__li134651132164719">no dict(table (column))<p id="EN-US_TOPIC_0000001764492008__p696072865718"><a name="EN-US_TOPIC_0000001764492008__li134651132164719"></a><a name="li134651132164719"></a>Column with the dictionary encoding table disabled.</p>
</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001764492008__section1866095674414"><h4 class="sectiontitle">Example</h4><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764492008__screen58724131128"><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">SELECT</span><span class="w"> </span><span class="cm">/*+ dict (bitmaptbl_high (server_ip)) */</span><span class="w"> </span><span class="k">distinct</span><span class="p">(</span><span class="n">server_ip</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">bitmaptbl_high</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">scope_name</span><span class="o">=</span><span class="s1">'saetataetaeta'</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">server_ip</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001764492008__p23218461870">The generated plan is as follows. server_ip uses the dictionary encoding:</p>
<p id="EN-US_TOPIC_0000001764492008__p2245193184"><span><img id="EN-US_TOPIC_0000001764492008__image4893143989" src="figure/en-us_image_0000001764651288.png"></span></p>
<p id="EN-US_TOPIC_0000001764492008__p34414126813">You can use no <strong id="EN-US_TOPIC_0000001764492008__b0450191155012">dict to</strong> disable <strong id="EN-US_TOPIC_0000001764492008__b933125205016">server_ip</strong> from using dictionary encoding.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001764492008__screen123407557920"><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">SELECT</span><span class="w"> </span><span class="cm">/*+ no dict (bitmaptbl_high (server_ip)) */</span><span class="w"> </span><span class="k">distinct</span><span class="p">(</span><span class="n">server_ip</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">bitmaptbl_high</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">scope_name</span><span class="o">=</span><span class="s1">'saetataetaeta'</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">server_ip</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_04_0454.html">Hint-based Tuning</a></div>
</div>
</div>