doc-exports/docs/dws/dev/dws_04_0912.html
Lu, Huayi e6fa411af0 DWS DEV 830.201 version
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>
2024-05-16 07:24:04 +00:00

233 lines
69 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<a name="EN-US_TOPIC_0000001188323574"></a><a name="EN-US_TOPIC_0000001188323574"></a>
<h1 class="topictitle1">Other Optimizer Options</h1>
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001188323574__sa5c1527051e54fbdb6c5346d54bcbf5a"><a name="EN-US_TOPIC_0000001188323574__sa5c1527051e54fbdb6c5346d54bcbf5a"></a><a name="sa5c1527051e54fbdb6c5346d54bcbf5a"></a><h4 class="sectiontitle">default_statistics_target</h4><p id="EN-US_TOPIC_0000001188323574__a6142f4f84779437398877f851e1cd4c5"><strong id="EN-US_TOPIC_0000001188323574__b879637478">Parameter description</strong>: Specifies the default statistics target for table columns without a column-specific target set via <strong id="EN-US_TOPIC_0000001188323574__b12796187877">ALTER TABLE SET STATISTICS</strong>. If this parameter is set to a positive number, it indicates the number of samples of statistics information. If this parameter is set to a negative number, percentage is used to set the statistic target. The negative number converts to its corresponding percentage, for example, -5 means 5%. During sampling, the random sampling size is <strong id="EN-US_TOPIC_0000001188323574__b151573114275">default_statistics_target</strong> x 300. For example, if the <strong id="EN-US_TOPIC_0000001188323574__b051516314275">default_statistics_target</strong> is 100, 30,000 data records from 30,000 pages are randomly sampled.</p>
<p id="EN-US_TOPIC_0000001188323574__p645142575219"><strong id="EN-US_TOPIC_0000001188323574__b467315138472">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__ac9c43d0403b6465ba8ee1d80e4149dfc"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_en-us_topic_0058967719_b63358046">Value range</strong>: an integer ranging from -100 to 10000</p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__n4ba410b0a05f4177a50d0fff301cc063"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><ul id="EN-US_TOPIC_0000001188323574__ul1557835716292"><li id="EN-US_TOPIC_0000001188323574__li1578165717294">A larger positive number than the parameter value increases the time required to do <strong id="EN-US_TOPIC_0000001188323574__b2004277218120">ANALYZE</strong>, but might improve the quality of the optimizer's estimates.</li><li id="EN-US_TOPIC_0000001188323574__li1351163511438">Changing settings of this parameter may result in performance deterioration. If query performance deteriorates, you can:<ol id="EN-US_TOPIC_0000001188323574__ol41884344312"><li id="EN-US_TOPIC_0000001188323574__li239210464434">Restore to the default statistics.</li><li id="EN-US_TOPIC_0000001188323574__li218164317437">Use hints to optimize the query plan. </li></ol>
</li><li id="EN-US_TOPIC_0000001188323574__li17578115712299">If this parameter is set to a negative value, the number of samples is greater than or equal to 2% of the total data volume, and the number of records in user tables is less than 1.6 million, the time taken by running <strong id="EN-US_TOPIC_0000001188323574__b737314417522">ANALYZE</strong> will be longer than when this parameter uses its default value.</li><li id="EN-US_TOPIC_0000001188323574__li125788577293">If this parameter is set to a negative value, the autoanalyze function does not support percentage sampling. The sampling uses the default value of this parameter.</li><li id="EN-US_TOPIC_0000001188323574__li1943903915351">If this parameter is set to a positive value, you must have the <strong id="EN-US_TOPIC_0000001188323574__b127893401312">ANALYZE</strong> permission to execute <strong id="EN-US_TOPIC_0000001188323574__b13091441181317">ANALYZE</strong>.</li><li id="EN-US_TOPIC_0000001188323574__li6280165719336">If this parameter is set to a negative value, that is, percentage sampling, you need to be granted the ANALYZE and SELECT permissions to execute ANALYZE.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__a30a5b12b50564c7db52405ae65494ec9"><strong id="EN-US_TOPIC_0000001188323574__b1931793817131_1">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706141243">100</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section093933013315"><h4 class="sectiontitle">random_function_version</h4><p id="EN-US_TOPIC_0000001188323574__p10172327201919"><strong id="EN-US_TOPIC_0000001188323574__b20903188111210">Parameter description</strong>: Specifies the random function version selected by ANALYZE during data sampling. This feature is supported only in 8.1.2 or later.</p>
<p id="EN-US_TOPIC_0000001188323574__p417211270192"><strong id="EN-US_TOPIC_0000001188323574__b538914260123">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p14172112711191"><strong id="EN-US_TOPIC_0000001188323574__b1612942810127">Value range</strong>: enumerated values</p>
<ul id="EN-US_TOPIC_0000001188323574__ul16631315213"><li id="EN-US_TOPIC_0000001188323574__li139213313213">The value <strong id="EN-US_TOPIC_0000001188323574__b033704019125">0</strong> indicates that the random function provided by the C standard library is used.</li><li id="EN-US_TOPIC_0000001188323574__li3922034213">The value <strong id="EN-US_TOPIC_0000001188323574__b1363745314145">1</strong> indicates that the optimized and enhanced random function is used.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__p6521123817205"><strong id="EN-US_TOPIC_0000001188323574__b167959278152">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b117953275151">0</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s5302d9fd9234498da55183c9914b189f"><h4 class="sectiontitle">constraint_exclusion</h4><p id="EN-US_TOPIC_0000001188323574__ac32dbb8fd70d46faa9b0d5de549981ef"><strong id="EN-US_TOPIC_0000001188323574__b27407937">Parameter description</strong>: Controls the query optimizer's use of table constraints to optimize queries.</p>
<p id="EN-US_TOPIC_0000001188323574__p184644341457"><strong id="EN-US_TOPIC_0000001188323574__b142301814194716">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a566e9efafe694be09ea487d0dc346398"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_en-us_topic_0058967719_b12936872">Value range</strong>: enumerated values</p>
<ul id="EN-US_TOPIC_0000001188323574__u8ec889c760534ae6b26ca97432c7fb6d"><li id="EN-US_TOPIC_0000001188323574__lf97f70c521cc4428a2dd1bdaf16189a6"><strong id="EN-US_TOPIC_0000001188323574__b881520714718">on</strong> indicates the constraints for all tables are examined.</li><li id="EN-US_TOPIC_0000001188323574__l3832f4411cf0448eba491d72ab554090"><strong id="EN-US_TOPIC_0000001188323574__b19816177675">off</strong>: No constraints are examined.</li><li id="EN-US_TOPIC_0000001188323574__l2b71a3371be94d339c47cc55895d0262"><strong id="EN-US_TOPIC_0000001188323574__b1481827671">partition</strong> indicates that only constraints for inherited child tables and <strong id="EN-US_TOPIC_0000001188323574__b18184711716">UNION ALL</strong> subqueries are examined.<div class="notice" id="EN-US_TOPIC_0000001188323574__nc077356e66d9488ea5d9adbf6d584878"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__a34d1a52788ab42d89a8136a5a3da3965">When <strong id="EN-US_TOPIC_0000001188323574__b1687220718120">constraint_exclusion</strong> is set to <strong id="EN-US_TOPIC_0000001188323574__b1763213718120">on</strong>, the optimizer compares query conditions with the table's <strong id="EN-US_TOPIC_0000001188323574__b2447150918120">CHECK</strong> constraints, and omits scanning tables for which the conditions contradict the constraints.</p>
</div></div>
</li></ul>
<p id="EN-US_TOPIC_0000001188323574__a8efecdefd91b48ba915cf83f2dffcdd6"><strong id="EN-US_TOPIC_0000001188323574__b1931793817131_3">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b84235270617521">partition</strong></p>
<div class="note" id="EN-US_TOPIC_0000001188323574__n21646fe65b8d45b4a28529fd58babd2c"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001188323574__ac4c5f2488bca423ea0a5d34aa447d658">Currently, this parameter is set to <strong id="EN-US_TOPIC_0000001188323574__b11269115717461">on</strong> by default to partition tables. If this parameter is set to <strong id="EN-US_TOPIC_0000001188323574__b1024101493181633">on</strong>, extra planning is imposed on simple queries, which has no benefits. If you have no partitioned tables, set it to <strong id="EN-US_TOPIC_0000001188323574__b84235270618196">off</strong>.</p>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__se5b22c37446c4415b279acfd8357229f"><h4 class="sectiontitle">cursor_tuple_fraction</h4><p id="EN-US_TOPIC_0000001188323574__a2ebee67cca004ab58a737a7dfa5338c8"><strong id="EN-US_TOPIC_0000001188323574__b4730591">Parameter description</strong>: Specifies the optimizer's estimated fraction of a cursor's rows that are retrieved.</p>
<p id="EN-US_TOPIC_0000001188323574__p11690134417513"><strong id="EN-US_TOPIC_0000001188323574__b385813145474">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a51ba568458e14174bfd031069fba7ca1"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_en-us_topic_0058967719_b39817432">Value range</strong>: a floating point number ranging from 0.0 to 1.0</p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__ndf33dc1fc54f485098e8dcdb5ffa6049"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__a652aabfaac554a478d650a45bdf88467">Smaller values than the default value bias the optimizer towards using <strong id="EN-US_TOPIC_0000001188323574__b5688291518120">fast start</strong> plans for cursors, which will retrieve the first few rows quickly while perhaps taking a long time to fetch all rows. Larger values put more emphasis on the total estimated time. At the maximum setting of <strong id="EN-US_TOPIC_0000001188323574__b9828271076">1.0</strong>, cursors are planned exactly like regular queries, considering only the total estimated time and how soon the first rows might be delivered.</p>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__a7952e173fa8c4afead372a99be20b3c0"><strong id="EN-US_TOPIC_0000001188323574__b13157807">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706213752">0.1</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s4e30b68a154d42509b93e977a140d3fe"><h4 class="sectiontitle">from_collapse_limit</h4><p id="EN-US_TOPIC_0000001188323574__aedc1debed7794fbc8e00b4aed9cc0d00"><strong id="EN-US_TOPIC_0000001188323574__b40579031">Parameter description</strong>: Specifies whether the optimizer merges sub-queries into upper queries based on the resulting FROM list. The optimizer merges sub-queries into upper queries if the resulting FROM list would have no more than this many items.</p>
<p id="EN-US_TOPIC_0000001188323574__p28315569515"><strong id="EN-US_TOPIC_0000001188323574__b7960191424710">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a8becf5ff8c214ad995bb1807c6a6ab3a"><strong id="EN-US_TOPIC_0000001188323574__b98321378712">Value range</strong>: an integer ranging from 1 to INT_MAX</p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__n026d0777d7f5446096eaf7dad50ebc0f"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__ad651a9537144405985c5411bde67bc56">Smaller values reduce planning time but may lead to inferior execution plans.</p>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__ad784812dae9345eb8054069b3b3f8fa9"><strong id="EN-US_TOPIC_0000001188323574__b1413578664144214">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b578690575144214">8</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__sd9f0bd0792814592945306fb9037f8ea"><h4 class="sectiontitle">join_collapse_limit</h4><p id="EN-US_TOPIC_0000001188323574__af4ab7829dc284124a555923eaa914227"><strong id="EN-US_TOPIC_0000001188323574__b128391975716">Parameter description</strong>: Specifies whether the optimizer rewrites <strong id="EN-US_TOPIC_0000001188323574__b1083927173">JOIN</strong> constructs (except <strong id="EN-US_TOPIC_0000001188323574__b13839371275">FULL JOIN</strong>) into lists of <strong id="EN-US_TOPIC_0000001188323574__b15839157477">FROM</strong> items based on the number of the items in the result list.</p>
<p id="EN-US_TOPIC_0000001188323574__p1151810813619"><strong id="EN-US_TOPIC_0000001188323574__b716720159479">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a2cd28fbd7675449388f0d6be89a54eab"><strong id="EN-US_TOPIC_0000001188323574__b2842271777">Value range</strong>: an integer ranging from 1 to INT_MAX</p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__n245a41fd28564f68987e92ca4cd50efa"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><ul id="EN-US_TOPIC_0000001188323574__u890569c1964b47b8b4a2518ff0c8ebbe"><li id="EN-US_TOPIC_0000001188323574__lfcab210f3be245bb86da4f55b9363164">Setting this parameter to <strong id="EN-US_TOPIC_0000001188323574__b4108855818120">1</strong> prevents join reordering. As a result, the join order specified in the query will be the actual order in which the relations are joined. The query optimizer does not always choose the optimal join order. Therefore, advanced users can temporarily set this variable to <strong id="EN-US_TOPIC_0000001188323574__b28451671770">1</strong>, and then specify the join order they desire explicitly.</li><li id="EN-US_TOPIC_0000001188323574__la115b23dd5914728b4f52af7c0522354">Smaller values reduce planning time but lead to inferior execution plans.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__a958c19c2922444cf8df6566569146a97"><strong id="EN-US_TOPIC_0000001188323574__b1747435869">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b97291445">8</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__scfe0df60680c4f3eb80ef2f4f0a9fdb1"><h4 class="sectiontitle">plan_mode_seed</h4><p id="EN-US_TOPIC_0000001188323574__a093dd56277d446fd94e31ff5a287301c"><strong id="EN-US_TOPIC_0000001188323574__b842352706152612">Parameter description</strong>: This is a commissioning parameter. Currently, it supports only OPTIMIZE_PLAN and RANDOM_PLAN. <strong id="EN-US_TOPIC_0000001188323574__b14935144122710">OPTIMIZE_PLAN</strong> indicates the optimal plan, the cost of which is estimated using the dynamic planning algorithm, and its value is <strong id="EN-US_TOPIC_0000001188323574__b149364410277">0</strong>. <strong id="EN-US_TOPIC_0000001188323574__b69371641192720">RANDOM_PLAN</strong> indicates the plan that is randomly generated. If <strong id="EN-US_TOPIC_0000001188323574__b1593813414274">plan_mode_seed</strong> is set to <strong id="EN-US_TOPIC_0000001188323574__b1893964116278">-1</strong>, you do not need to specify the value of the seed identifier. Instead, the optimizer generates a random integer ranging from <strong id="EN-US_TOPIC_0000001188323574__b6940184117272">1</strong> to <strong id="EN-US_TOPIC_0000001188323574__b19941164172716">2147483647</strong>, and then generates a random execution plan based on this random number. If <strong id="EN-US_TOPIC_0000001188323574__b7942141122714">plan_mode_seed</strong> is set to an integer ranging from <strong id="EN-US_TOPIC_0000001188323574__b994254115271">1</strong> to <strong id="EN-US_TOPIC_0000001188323574__b8943194152711">2147483647</strong>, you need to specify the value of the seed identifier, and the optimizer generates a random execution plan based on the seed value.</p>
<p id="EN-US_TOPIC_0000001188323574__p19589151815612"><strong id="EN-US_TOPIC_0000001188323574__b1536110153479">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a9cfa48f755e645e7b40336115970214d"><strong id="EN-US_TOPIC_0000001188323574__b1385107577">Value range</strong>: an integer ranging from -1 to 2147483647</p>
<p id="EN-US_TOPIC_0000001188323574__a01e14b5deccb40429163a2dd0ad5b957"><strong id="EN-US_TOPIC_0000001188323574__b842352706183425">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706183427">0</strong></p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__n5b74f1f3817f4a40999dd60f96bc7441"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><ul id="EN-US_TOPIC_0000001188323574__ul97741008174"><li id="EN-US_TOPIC_0000001188323574__li1677450101715">If <strong id="EN-US_TOPIC_0000001188323574__b842352706152041">plan_mode_seed</strong> is set to <strong id="EN-US_TOPIC_0000001188323574__b183348383415215">RANDOM_PLAN</strong>, the optimizer generates different random execution plans, which may not be the optimal. Therefore, to guarantee the query performance, the default value <strong id="EN-US_TOPIC_0000001188323574__b178104695315252">0</strong> is recommended during upgrade, scale-out, scale-in, and O&amp;M.</li><li id="EN-US_TOPIC_0000001188323574__li877411015174">If this parameter is not set to <strong id="EN-US_TOPIC_0000001188323574__b029313267372">0</strong>, the specified hint will not be used.</li></ul>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__sccd2418a6b9d4b128cd39d29a63dd94b"><h4 class="sectiontitle">enable_hdfs_predicate_pushdown</h4><p id="EN-US_TOPIC_0000001188323574__aa7acfa6f701741cf8f922d3cb5742d95"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_a7a099aa4bdd6409e8539ad4789ec87e7">Parameter description</strong>: Specifies whether the function of pushing down predicates the native data layer is enabled.</p>
<p id="EN-US_TOPIC_0000001188323574__p13578201998"><strong id="EN-US_TOPIC_0000001188323574__b194241516154712">Type</strong>: SUSET</p>
<p id="EN-US_TOPIC_0000001188323574__a0366652382de4a05be595fcc44d7711b"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059778564_en-us_topic_0058967768_b55121625">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__u64ee5f6205614d78baf60ec424cc7b3b"><li id="EN-US_TOPIC_0000001188323574__lae1029f1c75c4f30b9635c7434627517"><strong id="EN-US_TOPIC_0000001188323574__b842352706155251">on</strong> indicates this function is enabled.</li><li id="EN-US_TOPIC_0000001188323574__lb8ea3a57ea2d49c7818e5a6d498e4867"><strong id="EN-US_TOPIC_0000001188323574__b1751948586">off</strong> indicates this function is disabled.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__a63d4cde617d34a2980216706c6e7610d"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059778871_en-us_topic_0058967732_b6125520212036_2">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706152029">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__sa4da81a9ccb841caab3759ee97d61b84"><h4 class="sectiontitle">enable_random_datanode</h4><p id="EN-US_TOPIC_0000001188323574__a6f6fe14b2e484184bbe7c1e3a5b6e002"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_a1c4d98acc0204392830c670204a9632f">Parameter description</strong>: Specifies whether the function that random query about DNs in the replication table is enabled. A complete data table is stored on each DN for random retrieval to release the pressure on nodes.</p>
<p id="EN-US_TOPIC_0000001188323574__p11981828167"><strong id="EN-US_TOPIC_0000001188323574__b74673180479">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a28c3d6d1c499408e94a96cf4dada0266"><strong id="EN-US_TOPIC_0000001188323574__b1362977770">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__u02f0811b4b0e45c59620c567498dbb00"><li id="EN-US_TOPIC_0000001188323574__l1e3963771a02482b93919cc75cf05fc8"><strong id="EN-US_TOPIC_0000001188323574__b84235270616241">on</strong>: This function is enabled.</li><li id="EN-US_TOPIC_0000001188323574__l3c55a83741424b5db7d8f2c1dfd5eca5"><strong id="EN-US_TOPIC_0000001188323574__b842352706162643">off</strong>: This function is disabled.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__adbc8829f25ee449288f5718adccd6965"><strong id="EN-US_TOPIC_0000001188323574__b812771735">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b1731494886">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s7ef00d212ddf4d9a82f52f66890c4826"><h4 class="sectiontitle">hashagg_table_size</h4><p id="EN-US_TOPIC_0000001188323574__a04fdef1b84584844b84d41bd29691bfd"><strong id="EN-US_TOPIC_0000001188323574__b32915318355">Parameter description</strong>: Specifies the hash table size during <strong id="EN-US_TOPIC_0000001188323574__b14298193112354">HASH AGG</strong> execution.</p>
<p id="EN-US_TOPIC_0000001188323574__p12789371614"><strong id="EN-US_TOPIC_0000001188323574__b1392515188478">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a91359beb6533429cb53a7689891d2d12"><strong id="EN-US_TOPIC_0000001188323574__b287615718713">Value range</strong>: an integer ranging from 0 to INT_MAX/2</p>
<p id="EN-US_TOPIC_0000001188323574__ae7f7dd34615c404795cb90d4bed1d2f1"><strong id="EN-US_TOPIC_0000001188323574__b45935674">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b35585074">0</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__se75ab653da604c90acf654efc674c720"><a name="EN-US_TOPIC_0000001188323574__se75ab653da604c90acf654efc674c720"></a><a name="se75ab653da604c90acf654efc674c720"></a><h4 class="sectiontitle">enable_codegen</h4><p id="EN-US_TOPIC_0000001188323574__a3aa5e435845c483a8c92ad701212abf6"><strong id="EN-US_TOPIC_0000001188323574__b842352706172916">Parameter description</strong>: Specifies whether code optimization can be enabled. Currently, the code optimization uses the LLVM optimization.</p>
<p id="EN-US_TOPIC_0000001188323574__p187493451867"><strong id="EN-US_TOPIC_0000001188323574__b18120131914712">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a79ff638ba84c47bf915bd054d20c36a3"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059778487_aa1fc9bedad6b4779a216c176c5046dcc">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__u65693ccc1eb44b018b9d0a3ce2e044c1"><li id="EN-US_TOPIC_0000001188323574__lef2b592b699e4398a87f2fecedb1a0ac"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0058967719_b8423527062040">on</strong> indicates code optimization can be enabled.</li><li id="EN-US_TOPIC_0000001188323574__l4222fb5a451642ab9bdf6326a7fa85fa"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_en-us_topic_0058967719_b842352706151122">off</strong> indicates code optimization cannot be enabled.<div class="notice" id="EN-US_TOPIC_0000001188323574__n2439c6444cc24bfabb32d963959a1007"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__a7ca8a2ea0eec4152968d25330f09d80c">Currently, the LLVM optimization only supports the vectorized executor and SQL on Hadoop features. You are advised to set this parameter to <strong id="EN-US_TOPIC_0000001188323574__b84235270618113">off</strong> in other cases.</p>
</div></div>
</li></ul>
<p id="EN-US_TOPIC_0000001188323574__a03e81b26e0f54e2a8951a4848d275d9a"><strong id="EN-US_TOPIC_0000001188323574__b19573715114114">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706172116">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s5fcb2bfd4ea844d483b3926e314425d0"><h4 class="sectiontitle">codegen_strategy</h4><p id="EN-US_TOPIC_0000001188323574__p15481103754112"><strong id="EN-US_TOPIC_0000001188323574__b798985515425">Parameter description</strong>: Specifies the codegen optimization strategy that is used when an expression is converted to codegen-based.</p>
<p id="EN-US_TOPIC_0000001188323574__p19025512612"><strong id="EN-US_TOPIC_0000001188323574__b123051719124710">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a307e11fea6d2463085d65e03799f0d4f"><strong id="EN-US_TOPIC_0000001188323574__b128911575718">Value range</strong>: enumerated values</p>
<ul id="EN-US_TOPIC_0000001188323574__uc63c3032ddcd4c449fa0108e493ed740"><li id="EN-US_TOPIC_0000001188323574__l31ffae58aa664ef194f791e027a0c568"><strong id="EN-US_TOPIC_0000001188323574__b842352706155117">partial</strong> indicates that you can still call the LLVM dynamic optimization strategy using the codegen framework of an expression even if functions that are not codegen-based exist in the expression.</li><li id="EN-US_TOPIC_0000001188323574__l656c136973b34ee48057a73c9c276f5c"><strong id="EN-US_TOPIC_0000001188323574__b84235270616530">pure</strong> indicates that the LLVM dynamic optimization strategy can be called only when all functions in an expression can be codegen-based.<div class="notice" id="EN-US_TOPIC_0000001188323574__n4f43d5c55f0345a98fe7b9ddd1c4ccec"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__a8e90b7756a4c48c0ab8f14ae47840b31">In the scenario where query performance reduces after the codegen function is enabled, you can set this parameter to <strong id="EN-US_TOPIC_0000001188323574__b842352706161929">pure</strong>. In other scenarios, do not change the default value <strong id="EN-US_TOPIC_0000001188323574__b1426378143202417">partial</strong> of this parameter.</p>
</div></div>
</li></ul>
<p id="EN-US_TOPIC_0000001188323574__a8c30d3359cc542a6a90a32b74a4ff5c9"><strong id="EN-US_TOPIC_0000001188323574__b37427418113820">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706125553">partial</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s83e56121e26c4dfcb0bfd4862a49f983"><h4 class="sectiontitle">enable_codegen_print</h4><p id="EN-US_TOPIC_0000001188323574__p12447115014114"><strong id="EN-US_TOPIC_0000001188323574__b1233918115436">Parameter description:</strong> Specifies whether the LLVM IR function can be printed in logs.</p>
<p id="EN-US_TOPIC_0000001188323574__p94641331974"><strong id="EN-US_TOPIC_0000001188323574__b9484101916479">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__ad1b383d7238943409413dedf9130bf96"><strong id="EN-US_TOPIC_0000001188323574__b745516186">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ue5b5dcbbfbf54a1e804306b9f79b0ed9"><li id="EN-US_TOPIC_0000001188323574__l577bb3c3ae594c98a5498c3d4f196623"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0058967719_b842352706144751">on</strong> indicates that the LLVM IR function can be printed in logs.</li><li id="EN-US_TOPIC_0000001188323574__lae54f021b5ea411d9c5fa7151332496f"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0058967719_b1558771197144814">off</strong> indicates that the LLVM IR function cannot be printed in logs.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__a8e63e60b88aa4f0d80364fdadf3d6605"><strong id="EN-US_TOPIC_0000001188323574__b55233292105553">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706172155">off</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__sa34f40a091064ae5b3b69741f431ed11"><h4 class="sectiontitle">codegen_cost_threshold</h4><p id="EN-US_TOPIC_0000001188323574__p01875587419"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_a9501ffbf09334545a01ef8871161f185">Parameter description</strong>: The LLVM compilation takes some time to generate executable machine code. Therefore, LLVM compilation is beneficial only when the actual execution cost is more than the sum of the code required for generating machine code and the optimized execution cost. This parameter specifies a threshold. If the estimated execution cost exceeds the threshold, LLVM optimization is performed. </p>
<p id="EN-US_TOPIC_0000001188323574__p151411013975"><strong id="EN-US_TOPIC_0000001188323574__b186492019184713">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__af2a3e76c0fb349a49c3d9d5cf3f9ec8b"><strong id="EN-US_TOPIC_0000001188323574__b9264144791019">Value range</strong>: an integer ranging from <strong id="EN-US_TOPIC_0000001188323574__b1790631814331">0</strong> to <strong id="EN-US_TOPIC_0000001188323574__b13200526113313">INT_MAX</strong></p>
<p id="EN-US_TOPIC_0000001188323574__a5e9ad717ad384c4583f856bf09a90fe3"><strong id="EN-US_TOPIC_0000001188323574__b13360219">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706205450">10000</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s7c9f76d1e73345e09fae2e5f3e2a6cdd"><h4 class="sectiontitle">enable_constraint_optimization</h4><p id="EN-US_TOPIC_0000001188323574__a08187f3482f2461b9e718be85ffc5e77"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_a3bc5fd0e1ba9485286b2bb37d887668d">Parameter description</strong>: Specifies whether the informational constraint optimization execution plan can be used for an HDFS foreign table.</p>
<p id="EN-US_TOPIC_0000001188323574__p15916185997"><strong id="EN-US_TOPIC_0000001188323574__b14808119164714">Type</strong>: SUSET</p>
<p id="EN-US_TOPIC_0000001188323574__a8732120b4c9d4577a10dfee2bbb61903"><strong id="EN-US_TOPIC_0000001188323574__b1557863489">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__u2efbf664c7b74af9bdd32fc293ae1374"><li id="EN-US_TOPIC_0000001188323574__ldeba1cbcb94d40209d79a72e43a075cb"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0058967719_b84235270620307">on</strong> indicates the plan can be used.</li><li id="EN-US_TOPIC_0000001188323574__la7e6792f98a1499b8116e901831c1d3d"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0058967719_b842352706203013">off</strong> indicates the plan cannot be used.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__af9bac490815c44d2b3db4ee36242ba80"><strong id="EN-US_TOPIC_0000001188323574__b1129101198">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b1024599171">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s3210646666fe4eb4806c86579cfa0684"><h4 class="sectiontitle">enable_bloom_filter</h4><p id="EN-US_TOPIC_0000001188323574__p37461056163710"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_a63ae7c510a9645a6b3fa507757813acf">Parameter description</strong>: Specifies whether the BloomFilter optimization is used.</p>
<p id="EN-US_TOPIC_0000001188323574__p124764222720"><strong id="EN-US_TOPIC_0000001188323574__b72610209472">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__a9d86c0faeb7843e8acb2fd6b2025ce79"><strong id="EN-US_TOPIC_0000001188323574__b939011137">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__u06446d6a5430483fa7e05d6d4c5ecc34"><li id="EN-US_TOPIC_0000001188323574__lfa10e2ef77974435b3dfb55c0fddfa5b"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0058967719_b8423527069518">on</strong> indicates the BloomFilter optimization can be used.</li><li id="EN-US_TOPIC_0000001188323574__lf654b02d502a490a8fb61f1ba65d0fbf"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059779049_en-us_topic_0058967719_b84235270695119">off</strong> indicates the BloomFilter optimization cannot be used.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__a5da6e1ad64cc4e91b40aa25beecc60c1"><strong id="EN-US_TOPIC_0000001188323574__b2081882682">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b744706261">on</strong></p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__note2726641181713"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__p19726241141711">Scenario: If in a HASH JOIN, the thread of the foreign table contains HDFS tables or column-store tables, the Bloom filter is triggered.</p>
<p id="EN-US_TOPIC_0000001188323574__p43131745326">Constraints:</p>
<ol id="EN-US_TOPIC_0000001188323574__ol32413119329"><li id="EN-US_TOPIC_0000001188323574__li319518392382">Only<strong id="EN-US_TOPIC_0000001188323574__b1269184383717"> INNER JOIN</strong>, <strong id="EN-US_TOPIC_0000001188323574__b7430349153713">SEMI JOIN</strong>,<strong id="EN-US_TOPIC_0000001188323574__b19944542376"> RIGHT JOIN</strong>, <strong id="EN-US_TOPIC_0000001188323574__b48685943715">RIGHT SEMI JOIN</strong>, <strong id="EN-US_TOPIC_0000001188323574__b4775184123819">RIGHT ANTI JOIN</strong> and <strong id="EN-US_TOPIC_0000001188323574__b2081715108386">RIGHT ANTI FULL JOIN</strong> are supported.</li><li id="EN-US_TOPIC_0000001188323574__li19446161873210">The number of rows in the internal table in the join cannot exceed 50,000.</li><li id="EN-US_TOPIC_0000001188323574__li22416115324">JOIN condition of the internal table: It cannot be an expression for HDFS internal or foreign tables. It can be an expression for column-store tables, but only at the non-join layer.</li><li id="EN-US_TOPIC_0000001188323574__li98690365336">The join condition of the foreign table must be simple column join.</li><li id="EN-US_TOPIC_0000001188323574__li67595448345">When the join conditions of the internal and foreign tables (HDFS) are both simple column joins, the estimated data that can be removed at the plan layer must be over 1/3.</li><li id="EN-US_TOPIC_0000001188323574__li15802936193513">Joined columns cannot contain NULL values.</li><li id="EN-US_TOPIC_0000001188323574__li2677155415423">Data is not flushed to disks at the JOIN layer.</li><li id="EN-US_TOPIC_0000001188323574__li15519172583618">Data type:<ul id="EN-US_TOPIC_0000001188323574__ul14791046132412"><li id="EN-US_TOPIC_0000001188323574__li1179114612418">HDFS internal and foreign tables support SMALLINT, INTEGER, BIGINT, REAL/FLOAT4, DOUBLE PRECISION/FLOAT8, CHAR(n)/CHARACTER(n)/NCHAR(n), VARCHAR(n)/CHARACTER VARYING(n), CLOB and TEXT.</li><li id="EN-US_TOPIC_0000001188323574__li82722412295">Column-store tables support SMALLINT, INTEGER, BIGINT, OID, "char", CHAR(n)/CHARACTER(n)/NCHAR(n), VARCHAR(n)/CHARACTER VARYING(n), NVARCHAR2(n), CLOB, TEXT, DATE, TIME, TIMESTAMP and TIMESTAMPTZ. The collation of the character type must be <strong id="EN-US_TOPIC_0000001188323574__b2157419448">C</strong>.</li></ul>
</li></ol>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section251911538557"><h4 class="sectiontitle">enable_extrapolation_stats</h4><p id="EN-US_TOPIC_0000001188323574__p15385101113819"><strong id="EN-US_TOPIC_0000001188323574__b105300538556">Parameter description</strong>: Specifies whether the extrapolation logic is used for data of DATE type based on historical statistics. The logic can increase the accuracy of estimation for tables whose statistics are not collected in time, but will possibly provide an overlarge estimation due to incorrect extrapolation. Enable the logic only in scenarios where the data of DATE type is periodically inserted.</p>
<p id="EN-US_TOPIC_0000001188323574__p850553110712"><strong id="EN-US_TOPIC_0000001188323574__b1579710559582">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p14537753185518"><strong id="EN-US_TOPIC_0000001188323574__b0543115335516">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ul205481253115511"><li id="EN-US_TOPIC_0000001188323574__li95523533558"><strong id="EN-US_TOPIC_0000001188323574__b842352706113713">on</strong> indicates that the extrapolation logic is used for data of DATE type based on historical statistics.</li><li id="EN-US_TOPIC_0000001188323574__li4559253135515"><strong id="EN-US_TOPIC_0000001188323574__b842352706113737">off</strong> indicates that the extrapolation logic is not used for data of DATE type based on historical statistics.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__p85663536556"><strong id="EN-US_TOPIC_0000001188323574__b1093862467">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b837979830">off</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section114241119217"><a name="EN-US_TOPIC_0000001188323574__section114241119217"></a><a name="section114241119217"></a><h4 class="sectiontitle">autoanalyze</h4><p id="EN-US_TOPIC_0000001188323574__p54811455387"><strong id="EN-US_TOPIC_0000001188323574__b88417710267">Parameter description</strong>: Specifies whether to allow automatic statistics collection for a table that has no statistics or a table whose amount of data modification reaches the threshold for triggering <strong id="EN-US_TOPIC_0000001188323574__b43041631417">ANALYZE</strong> when a plan is generated. In this case, <strong id="EN-US_TOPIC_0000001188323574__b712124595615">AUTOANALYZE</strong> cannot be triggered for foreign tables or temporary tables with the <strong id="EN-US_TOPIC_0000001188323574__b12121164595612">ON COMMIT [DELETE ROWS|DROP]</strong> option. To collect statistics, you need to manually perform the <strong id="EN-US_TOPIC_0000001188323574__b814492518218">ANALYZE</strong> operation. If an exception occurs in the database during the execution of autoanalyze on a table, after the database is recovered, the system may still prompt you to collect the statistics of the table when you run the statement again. In this case, manually perform the <strong id="EN-US_TOPIC_0000001188323574__b9214102175410">ANALYZE</strong> operation on the table to synchronize statistics.</p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__note1298692412497"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__p198615243491">If the amount of data modification reaches the threshold for triggering <strong id="EN-US_TOPIC_0000001188323574__b287392735419">ANALYZE</strong>, the amount of data modification exceeds <strong id="EN-US_TOPIC_0000001188323574__b5874127115411">autovacuum_analyze_threshold</strong> + <strong id="EN-US_TOPIC_0000001188323574__b118742276549">autovacuum_analyze_scale_factor * </strong><em id="EN-US_TOPIC_0000001188323574__i587582765414">reltuples</em>. <em id="EN-US_TOPIC_0000001188323574__i168751027135412">reltuples</em> indicates the estimated number of rows in the table recorded in <strong id="EN-US_TOPIC_0000001188323574__b18875192765418">pg_class</strong>.</p>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p1623312562813"><strong id="EN-US_TOPIC_0000001188323574__b174036204477">Type</strong>: SUSET</p>
<p id="EN-US_TOPIC_0000001188323574__p9453011128"><strong id="EN-US_TOPIC_0000001188323574__b645918119211">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ul14641815210"><li id="EN-US_TOPIC_0000001188323574__li18467611428"><strong id="EN-US_TOPIC_0000001188323574__b842352706113848">on</strong> indicates that the table statistics are automatically collected.</li><li id="EN-US_TOPIC_0000001188323574__li84785114211"><strong id="EN-US_TOPIC_0000001188323574__b684338908113915">off</strong> indicates that the table statistics are not automatically collected.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__p0489811524"><strong id="EN-US_TOPIC_0000001188323574__b1775365611188">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b10759256141815">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__sa7cc15b1aef14ba0824d8e3c143f725f"><h4 class="sectiontitle">query_dop</h4><p id="EN-US_TOPIC_0000001188323574__p68596421577"><strong id="EN-US_TOPIC_0000001188323574__b1755412110479">Parameter description</strong>: Specifies the user-defined degree of parallelism.</p>
<p id="EN-US_TOPIC_0000001188323574__p85401461471"><strong id="EN-US_TOPIC_0000001188323574__b544823114713">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__aa4b3334c2cd44e89a95248171499825b"><strong id="EN-US_TOPIC_0000001188323574__b3913172915116">Value range</strong>: an integer ranging from -64 to 64.</p>
<p id="EN-US_TOPIC_0000001188323574__p379719178488">[1, 64]: Fixed SMP is enabled, and the system will use the specified degree.</p>
<p id="EN-US_TOPIC_0000001188323574__p75511411124811">0: SMP adaptation function is enabled. The system dynamically selects the optimal parallelism degree [1,8] (x86 platforms) for each query based on the resource usage and query plans.</p>
<p id="EN-US_TOPIC_0000001188323574__p1628730154816">[-64, -1]: SMP adaptation is enabled, and the system will dynamically select a degree from the limited range.</p>
<div class="note" id="EN-US_TOPIC_0000001188323574__n7b33233d31524eea973ffc79e2388ff7"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188323574__ul8224132315341"><li id="EN-US_TOPIC_0000001188323574__li33971156122610">For TP services that mainly involve short queries, if services cannot be optimized through lightweight CNs or statement delivery, it will take a long time to generate an SMP plan. You are advised to set <strong id="EN-US_TOPIC_0000001188323574__b985382511582">query_dop</strong> to <strong id="EN-US_TOPIC_0000001188323574__b158591125145810">1</strong>. For AP services with complex statements, you are advised to set <strong id="EN-US_TOPIC_0000001188323574__b157841525584">query_dop</strong> to <strong id="EN-US_TOPIC_0000001188323574__b1678613521589">0</strong>.</li><li id="EN-US_TOPIC_0000001188323574__li1422432313420">After enabling concurrent queries, ensure you have sufficient CPU, memory, network, and I/O resources to achieve the optimal performance.</li><li id="EN-US_TOPIC_0000001188323574__li112241223103412">To prevent performance deterioration caused by an overly large value of <strong id="EN-US_TOPIC_0000001188323574__b5407455201719">query_dop</strong>, the system calculates the maximum number of available CPU cores for a DN and uses the number as the upper limit for this parameter. If the value of <strong id="EN-US_TOPIC_0000001188323574__b62039344188">query_dop</strong> is greater than 4 and also the upper limit, the system resets <strong id="EN-US_TOPIC_0000001188323574__b17910135871815">query_dop</strong> to the upper limit.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__aadd79139e28e46aea167bb03a0c01940"><strong id="EN-US_TOPIC_0000001188323574__b7621172513364">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b362192553612">1</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section174617504332"><h4 class="sectiontitle">query_dop_ratio</h4><p id="EN-US_TOPIC_0000001188323574__p1070314513331"><strong id="EN-US_TOPIC_0000001188323574__b720183513611">Parameter description</strong>: Specifies the DOP multiple used to adjust the optimal DOP preset in the system when <strong id="EN-US_TOPIC_0000001188323574__b151111327145718">query_dop</strong> is set to <strong id="EN-US_TOPIC_0000001188323574__b1137972965718">0</strong>. That is, DOP = Preset DOP x query_dop_ratio (ranging from 1 to 64). If this parameter is set to <strong id="EN-US_TOPIC_0000001188323574__b13653618810">1</strong>, the DOP cannot be adjusted.</p>
<p id="EN-US_TOPIC_0000001188323574__p1070355118339"><strong id="EN-US_TOPIC_0000001188323574__b172305231598">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p1183014117366"><strong id="EN-US_TOPIC_0000001188323574__b1160520322911">Value range</strong>: a floating point number ranging from 0 to 64</p>
<p id="EN-US_TOPIC_0000001188323574__p570355163318"><strong id="EN-US_TOPIC_0000001188323574__b16798124917916">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b1480516491291">1</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__s3f3dd81692d64ce08fa1a352e9ebb56f"><h4 class="sectiontitle">debug_group_dop</h4><p id="EN-US_TOPIC_0000001188323574__a72d25f2d0320437c992a285dcb72ce7f"><strong id="EN-US_TOPIC_0000001188323574__b111901359796">Parameter description</strong>: Specifies the unified DOP parallelism degree allocated to the groups that use the Stream operator as the vertex in the generated execution plan when the value of <strong id="EN-US_TOPIC_0000001188323574__b4231184331610">query_dop</strong> is <strong id="EN-US_TOPIC_0000001188323574__b18154519167">0</strong>. This parameter is used to manually specify the DOP for specific groups for performance optimization. Its format is <strong id="EN-US_TOPIC_0000001188323574__b186173412593">G1,D1,G2,D2,...,</strong>, where <strong id="EN-US_TOPIC_0000001188323574__b66243411591">G1</strong> and <strong id="EN-US_TOPIC_0000001188323574__b166273435911">G2</strong> indicate the group IDs that can be obtained from logs and <strong id="EN-US_TOPIC_0000001188323574__b196293475918">D1</strong> and <strong id="EN-US_TOPIC_0000001188323574__b1621334135915">D2</strong> indicate the specified DOP values and can be any positive integers.</p>
<p id="EN-US_TOPIC_0000001188323574__p1245071620182"><strong id="EN-US_TOPIC_0000001188323574__b2620202222016">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__af350ee0eedbe4e05b3454c4d69ce0b7c"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059777791_en-us_topic_0058967586_b37796097_1">Value range</strong>: a string</p>
<p id="EN-US_TOPIC_0000001188323574__a39299a499b1e41288f2d9ea1fdc82e42"><strong id="EN-US_TOPIC_0000001188323574__b20486111922114">Default value</strong>: empty</p>
<div class="notice" id="EN-US_TOPIC_0000001188323574__n83cc48fd8396484199f83f9de17a7247"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001188323574__a0c78987d9e3a4018abbf4890e1f7804d">This parameter is used only for internal optimization and cannot be set. You are advised to use the default value.</p>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section17142163813317"><h4 class="sectiontitle">enable_analyze_check</h4><p id="EN-US_TOPIC_0000001188323574__p1151038153114"><strong id="EN-US_TOPIC_0000001188323574__b0469163713815">Parameter description:</strong> Checks whether statistics were collected about tables whose <strong id="EN-US_TOPIC_0000001188323574__b1546915370815">reltuples</strong> and <strong id="EN-US_TOPIC_0000001188323574__b346953719813">relpages</strong> are shown as <strong id="EN-US_TOPIC_0000001188323574__b1948510371386">0</strong> in <strong id="EN-US_TOPIC_0000001188323574__b19485113716814">pg_class</strong> during plan generation. <strong id="EN-US_TOPIC_0000001188323574__b1649163291416">This parameter is no longer used in cluster versions 8.1.3 and later, but is reserved for compatibility with earlier versions. The setting of this parameter does not take effect.</strong></p>
<p id="EN-US_TOPIC_0000001188323574__p13405123213812"><strong id="EN-US_TOPIC_0000001188323574__b10474162354720">Type</strong>: SUSET</p>
<p id="EN-US_TOPIC_0000001188323574__p8164153818317"><strong id="EN-US_TOPIC_0000001188323574__b84736791">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ul131721738173119"><li id="EN-US_TOPIC_0000001188323574__li31771438193112"><strong id="EN-US_TOPIC_0000001188323574__b23808378920">on</strong> enables the check.</li><li id="EN-US_TOPIC_0000001188323574__li1618653812317"><strong id="EN-US_TOPIC_0000001188323574__b153334391794">off</strong> disables the check.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__p101948389310"><strong id="EN-US_TOPIC_0000001188323574__b115051840899">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b11505440097">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section93071140163618"><h4 class="sectiontitle">enable_sonic_hashagg</h4><p id="EN-US_TOPIC_0000001188323574__p931714063616"><strong id="EN-US_TOPIC_0000001188323574__b350515225411">Parameter description</strong>: Specifies whether to use the Hash Agg operator for column-oriented hash table design when certain constraints are met.</p>
<p id="EN-US_TOPIC_0000001188323574__p20210175616717"><strong id="EN-US_TOPIC_0000001188323574__b196651323134718">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p53291840133614"><strong id="EN-US_TOPIC_0000001188323574__b1380622864115">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ul1533984011364"><li id="EN-US_TOPIC_0000001188323574__li734412403366"><strong id="EN-US_TOPIC_0000001188323574__b1734763014462">on</strong> indicates that the Hash Agg operator is used for column-oriented hash table design when certain constraints are met.</li><li id="EN-US_TOPIC_0000001188323574__li13542040183610"><strong id="EN-US_TOPIC_0000001188323574__b361594917464">off</strong> indicates that the Hash Agg operator is not used for column-oriented hash table design.</li></ul>
<div class="note" id="EN-US_TOPIC_0000001188323574__note571352115446"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188323574__ul312336101611"><li id="EN-US_TOPIC_0000001188323574__li112346121620">If <strong id="EN-US_TOPIC_0000001188323574__b8909711134211">enable_sonic_hashagg</strong> is enabled and certain constraints are met, the Hash Agg operator will be used for column-oriented hash table design, and the memory usage of the operator can be reduced. However, in scenarios where the code generation technology (enabled by <a href="#EN-US_TOPIC_0000001188323574__se75ab653da604c90acf654efc674c720">enable_codegen</a>) can significantly improve performance, the performance of the operator may deteriorate.</li><li id="EN-US_TOPIC_0000001188323574__li181231765169">If <strong id="EN-US_TOPIC_0000001188323574__b8871122316020">enable_sonic_hashagg</strong> is set to <strong id="EN-US_TOPIC_0000001188323574__b17877152313011">on</strong>, when certain constraints are met, the hash aggregation operator designed for column-oriented hash tables is used and its name is displayed as <strong id="EN-US_TOPIC_0000001188323574__b88785231709">Sonic Hash Aggregation</strong> in the output of the Explain Analyze/Performance operation. When the constraints are not met, the operator name is displayed as <strong id="EN-US_TOPIC_0000001188323574__b28781323901">Hash Aggregation</strong>.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p536574017365"><strong id="EN-US_TOPIC_0000001188323574__b1597913319410">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b997915334412">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section143001361527"><h4 class="sectiontitle">enable_sonic_hashjoin</h4><p id="EN-US_TOPIC_0000001188323574__p93031036175211"><strong id="EN-US_TOPIC_0000001188323574__b075711379501">Parameter description</strong>: Specifies whether to use the Hash Join operator for column-oriented hash table design when certain constraints are met.</p>
<p id="EN-US_TOPIC_0000001188323574__p1224665586"><strong id="EN-US_TOPIC_0000001188323574__b4836132314714">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p13031536195213"><strong id="EN-US_TOPIC_0000001188323574__b89462318493">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ul33081636185217"><li id="EN-US_TOPIC_0000001188323574__li2309173635217"><strong id="EN-US_TOPIC_0000001188323574__b8217633174913">on</strong> indicates that the Hash Join operator is used for column-oriented hash table design when certain constraints are met.</li><li id="EN-US_TOPIC_0000001188323574__li1231419363528"><strong id="EN-US_TOPIC_0000001188323574__b1342382011514">off</strong> indicates that the Hash Join operator is not used for column-oriented hash table design.</li></ul>
<div class="note" id="EN-US_TOPIC_0000001188323574__note1331683645212"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188323574__ul1907322335"><li id="EN-US_TOPIC_0000001188323574__li390714213330">Currently, the parameter can be used only for Inner Join.</li><li id="EN-US_TOPIC_0000001188323574__li790712133313">If <strong id="EN-US_TOPIC_0000001188323574__b29503106529">enable_sonic_hashjoin</strong> is enabled, the memory usage of the Hash Inner operator can be reduced. However, in scenarios where the code generation technology can significantly improve performance, the performance of the operator may deteriorate.</li><li id="EN-US_TOPIC_0000001188323574__li17530131273517">If <strong id="EN-US_TOPIC_0000001188323574__b1056416129111">enable_sonic_hashjoin</strong> is set to <strong id="EN-US_TOPIC_0000001188323574__b356518124116">on</strong>, when certain constraints are met, the hash join operator designed for column-oriented hash tables is used and its name is displayed as <strong id="EN-US_TOPIC_0000001188323574__b1756814121417">Sonic Hash Join</strong> in the output of the Explain Analyze/Performance operation. When the constraints are not met, the operator name is displayed as <strong id="EN-US_TOPIC_0000001188323574__b1756915127120">Hash Join</strong>.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p1532043617527"><strong id="EN-US_TOPIC_0000001188323574__b437932812507">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b153811128205019">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section478342018180"><h4 class="sectiontitle">enable_sonic_optspill</h4><p id="EN-US_TOPIC_0000001188323574__p9783112020182"><strong id="EN-US_TOPIC_0000001188323574__b1272311406363">Parameter description</strong>: Specifies whether to optimize the number of hash join or hash agg files flushed to disks in the sonic scenario. This parameter takes effect only when <strong id="EN-US_TOPIC_0000001188323574__b15582054123710">enable_sonic_hashjoin</strong> or <strong id="EN-US_TOPIC_0000001188323574__b14558185416375">enable_sonic_hashagg</strong> is enabled.</p>
<p id="EN-US_TOPIC_0000001188323574__p5783132013183"><strong id="EN-US_TOPIC_0000001188323574__b195458107387">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p978312001811"><strong id="EN-US_TOPIC_0000001188323574__b1873101515385">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ul19784202016183"><li id="EN-US_TOPIC_0000001188323574__li8784162061816"><strong id="EN-US_TOPIC_0000001188323574__b16376101913816">on</strong> indicates that the number of files flushed to disks is optimized.</li><li id="EN-US_TOPIC_0000001188323574__li14784162015185"><strong id="EN-US_TOPIC_0000001188323574__b9634113273810">off</strong> indicates that the number of files flushed to disks is not optimized.</li></ul>
<div class="note" id="EN-US_TOPIC_0000001188323574__note1678432081810"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001188323574__p1045630115219">For the hash join or hash agg operator that meets the sonic criteria, if this parameter is set to <strong id="EN-US_TOPIC_0000001188323574__b157511616124016">off</strong>, one file is flushed to disks for each column. If this parameter is set to <strong id="EN-US_TOPIC_0000001188323574__b142932139194">on</strong> and the data types of different columns are similar, only one file (a maximum of five files) will be flushed to disks.</p>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p14784620141813"><strong id="EN-US_TOPIC_0000001188323574__b11486174633813">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b54862466388">on</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section1722911129113"><h4 class="sectiontitle">expand_hashtable_ratio</h4><p id="EN-US_TOPIC_0000001188323574__p10229712101110"><strong id="EN-US_TOPIC_0000001188323574__b299418711241">Parameter description</strong>: Specifies the expansion ratio used to resize the hash table during the execution of the Hash Agg and Hash Join operators.</p>
<p id="EN-US_TOPIC_0000001188323574__p1322915121118"><strong id="EN-US_TOPIC_0000001188323574__b196261120258">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p12229161281118"><strong id="EN-US_TOPIC_0000001188323574__b828220138258">Value range</strong>: a floating point number of 0 or ranging from 0.5 to 10</p>
<div class="note" id="EN-US_TOPIC_0000001188323574__note6230121215112"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188323574__ul182301412201118"><li id="EN-US_TOPIC_0000001188323574__li16230191251116">Value <strong id="EN-US_TOPIC_0000001188323574__b9672748142613">0</strong> indicates that the hash table is adaptively expanded based on the current memory size.</li><li id="EN-US_TOPIC_0000001188323574__li182031320121714">The value ranging from 0.5 to 10 indicates the multiple used to expand the hash table. Generally, a larger hash table delivers better performance but occupies more memory space. If the memory space is insufficient, data may be spilled to disks in advance, causing performance deterioration.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p132303121112"><strong id="EN-US_TOPIC_0000001188323574__b2014114218313">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b71480425315">0</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section12723161719355"><h4 class="sectiontitle">plan_cache_mode</h4><p id="EN-US_TOPIC_0000001188323574__p17723121710352"><strong id="EN-US_TOPIC_0000001188323574__b01571426162610">Parameter description</strong>: Specifies the policy for generating an execution plan in the <strong id="EN-US_TOPIC_0000001188323574__b2667839152614">prepare</strong> statement.</p>
<p id="EN-US_TOPIC_0000001188323574__p0743131514816"><strong id="EN-US_TOPIC_0000001188323574__b1620142484720">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p1872319177358"><strong id="EN-US_TOPIC_0000001188323574__en-us_topic_0059778091_en-us_topic_0058967545_b41199681">Value range</strong>: enumerated values</p>
<ul id="EN-US_TOPIC_0000001188323574__ul1872341711356"><li id="EN-US_TOPIC_0000001188323574__li572391743511"><strong id="EN-US_TOPIC_0000001188323574__b1855614182912">auto</strong> indicates that the <strong id="EN-US_TOPIC_0000001188323574__b51086242296">custom plan</strong> or <strong id="EN-US_TOPIC_0000001188323574__b145811128132911">generic plan</strong> is selected by default.</li><li id="EN-US_TOPIC_0000001188323574__li18723151713357"><strong id="EN-US_TOPIC_0000001188323574__b94491429291">force_generic_plan</strong> indicates that the <strong id="EN-US_TOPIC_0000001188323574__b156981047192912">generic plan</strong> is forcibly used.</li><li id="EN-US_TOPIC_0000001188323574__li16306115104215"><strong id="EN-US_TOPIC_0000001188323574__b172021158132913">force_custom_plan</strong> indicates that the <strong id="EN-US_TOPIC_0000001188323574__b1729317319309">custom plan</strong> is forcibly used.</li></ul>
<div class="note" id="EN-US_TOPIC_0000001188323574__note37231017123517"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188323574__ul107232017133512"><li id="EN-US_TOPIC_0000001188323574__li2072320175355">This parameter is valid only for the <strong id="EN-US_TOPIC_0000001188323574__b1562310176304">prepare</strong> statement. It is used when the parameterized field in the <strong id="EN-US_TOPIC_0000001188323574__b1258632923020">prepare</strong> statement has severe data skew.</li><li id="EN-US_TOPIC_0000001188323574__li122868287116"><strong id="EN-US_TOPIC_0000001188323574__b4942851103015">custom plan</strong> is a plan generated after you run a <strong id="EN-US_TOPIC_0000001188323574__b121563110319">prepare</strong> statement where parameters in the execute statement is embedded in the <strong id="EN-US_TOPIC_0000001188323574__b847711011301">prepare</strong> statement. The <strong id="EN-US_TOPIC_0000001188323574__b384941123216">custom plan</strong> generates a plan based on specific parameters in the execute statement. This scheme generates a preferred plan based on specific parameters each time and has good execution performance. The disadvantage is that the plan needs to be regenerated before each execution, resulting in a large amount of repeated optimizer overhead.</li><li id="EN-US_TOPIC_0000001188323574__li1856213436581"><strong id="EN-US_TOPIC_0000001188323574__b14201124273518">generic plan</strong> is a plan generated for the <strong id="EN-US_TOPIC_0000001188323574__b033835813352">prepare</strong> statement. The plan policy binds parameters to the plan when you run the execute statement and execute the plan. The advantage of this solution is that repeated optimizer overheads can be avoided in each execution. The disadvantage is that the plan may not be optimal when data skew occurs for the bound parameter field. When some bound parameters are used, the plan execution performance is poor.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p10724181710353"><strong id="EN-US_TOPIC_0000001188323574__b4605672135217_4">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b842352706171854">auto</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section1432019171045"><h4 class="sectiontitle">wlm_query_accelerate</h4><p id="EN-US_TOPIC_0000001188323574__p23201017944"><strong id="EN-US_TOPIC_0000001188323574__b1290593963416">Parameter description</strong>: Specifies whether the query needs to be accelerated when short query acceleration is enabled.</p>
<p id="EN-US_TOPIC_0000001188323574__p83202171944"><strong id="EN-US_TOPIC_0000001188323574__b11101147123410">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p132013171348"><strong id="EN-US_TOPIC_0000001188323574__b35751844115915">Value range</strong>: an integer ranging from <strong id="EN-US_TOPIC_0000001188323574__b250285423411">1</strong> to <strong id="EN-US_TOPIC_0000001188323574__b14215253715">1</strong></p>
<ul id="EN-US_TOPIC_0000001188323574__ul832041719414"><li id="EN-US_TOPIC_0000001188323574__li2320111711414"><strong id="EN-US_TOPIC_0000001188323574__b1484717414356">-1</strong>: indicates that short queries are controlled by the fast lane, and the long queries are controlled by the slow lane.</li><li id="EN-US_TOPIC_0000001188323574__li2320417943"><strong id="EN-US_TOPIC_0000001188323574__b10721155653510">0</strong>: indicates that queries are not accelerated. Both short and long queries are controlled by the slow lane.</li><li id="EN-US_TOPIC_0000001188323574__li432010179417"><strong id="EN-US_TOPIC_0000001188323574__b26331127113618">1</strong>: indicates that queries are accelerated. Both short queries and long queries are controlled by the fast lane.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__p73218171347"><strong id="EN-US_TOPIC_0000001188323574__b246610317372">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b26622515378">1</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section53471720163714"><h4 class="sectiontitle">show_unshippable_warning</h4><p id="EN-US_TOPIC_0000001188323574__p179715004520"><strong id="EN-US_TOPIC_0000001188323574__b193551732143217">Parameter description</strong>: Specifies whether to print the alarm for the statement pushdown failure to the client.</p>
<p id="EN-US_TOPIC_0000001188323574__p6347132011371"><strong id="EN-US_TOPIC_0000001188323574__b1591411073220">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p734720202378"><strong id="EN-US_TOPIC_0000001188323574__b2145111273210">Value range</strong>: Boolean</p>
<ul id="EN-US_TOPIC_0000001188323574__ul14347192018375"><li id="EN-US_TOPIC_0000001188323574__li1934752011376"><strong id="EN-US_TOPIC_0000001188323574__b198018486346">on</strong>: Records the reason why the statement cannot be pushed down in a WARNING log and prints the log to the client.</li><li id="EN-US_TOPIC_0000001188323574__li17347220113711"><strong id="EN-US_TOPIC_0000001188323574__b1970934153610">off</strong>: Logs the reason why the statement cannot be pushed down only.</li></ul>
<p id="EN-US_TOPIC_0000001188323574__p534715209373"><strong id="EN-US_TOPIC_0000001188323574__b5602132515320">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b176086257322">off</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section1438552224514"><h4 class="sectiontitle">hashjoin_spill_strategy</h4><p id="EN-US_TOPIC_0000001188323574__p19539122374516"><strong id="EN-US_TOPIC_0000001188323574__b1457112117199">Parameter description</strong>: specifies the hash join policy for flushing data to disks. This feature is supported in 8.1.2 or later.</p>
<p id="EN-US_TOPIC_0000001188323574__p185394230451"><strong id="EN-US_TOPIC_0000001188323574__b15662103813017">Type</strong>: USERSET</p>
<p id="EN-US_TOPIC_0000001188323574__p3539182344511"><strong id="EN-US_TOPIC_0000001188323574__b14823046113019">Value range</strong>: The value is an integer ranging from 0 to 4.</p>
<ul id="EN-US_TOPIC_0000001188323574__ul1453932354519"><li id="EN-US_TOPIC_0000001188323574__li14539172324515"><strong id="EN-US_TOPIC_0000001188323574__b208155568305">0</strong>: If the size of the inner table is large and cannot be partitioned after data is flushed to disks for multiple times, the system attempts to place the outer table in the available memory of the database to create a hash table. If both the inner and outer tables are large, a nested loop join is performed.</li><li id="EN-US_TOPIC_0000001188323574__li25404238455"><strong id="EN-US_TOPIC_0000001188323574__b12525153720222">1</strong>: If the size of the inner table is large and cannot be partitioned after data is flushed to disks for multiple times, the system attempts to place the outer table in the available memory of the database to create a hash table. If both the inner and outer tables are large, a hash join is forcibly performed.</li><li id="EN-US_TOPIC_0000001188323574__li75401323124515"><strong id="EN-US_TOPIC_0000001188323574__b26961243202317">2</strong>: If the size of the inner table is large and cannot be partitioned after data is flushed to disks for multiple times, a hash join is forcibly performed.</li><li id="EN-US_TOPIC_0000001188323574__li81274251505"><strong id="EN-US_TOPIC_0000001188323574__b199311546202318">3</strong>: If the size of the inner table is large and cannot be partitioned after data is flushed to disks for multiple times, the system attempts to place the outer table in the available memory of the database to create a hash table. If both the inner and outer tables are large, an error is reported.</li><li id="EN-US_TOPIC_0000001188323574__li173861227115020"><strong id="EN-US_TOPIC_0000001188323574__b67917226242">4</strong>: If the size of the inner table is large and cannot be partitioned after data is flushed to disks for multiple times, an error is reported.</li></ul>
<div class="note" id="EN-US_TOPIC_0000001188323574__note1254032318458"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188323574__ul8540122334510"><li id="EN-US_TOPIC_0000001188323574__li1954010235457">This parameter is valid only for a vectorized hash join operator.</li><li id="EN-US_TOPIC_0000001188323574__li15310640145816">If the number of distinct values is small and the data volume is large, data may fail to be flushed to disks. As a result, the memory usage is too high and the memory is out of control. If this parameter is set to <strong id="EN-US_TOPIC_0000001188323574__b177112414300">0</strong>, the system attempts to swap the inner and outer tables or perform a nested loop join to prevent this problem. However, a nested loop join may deteriorate performance in some scenarios.</li><li id="EN-US_TOPIC_0000001188323574__li17989808372">The value <strong id="EN-US_TOPIC_0000001188323574__b177822433219">0</strong> does not take effect for a vectorized full join, and the behavior is the same as that of the value <strong id="EN-US_TOPIC_0000001188323574__b141931844143215">1</strong>. The system attempts to create a hash table only for the outer table and does not perform a nested loop join.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p3540192324516"><strong id="EN-US_TOPIC_0000001188323574__b117251256193111">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b1473145673116">0</strong></p>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323574__section2109113218191"><h4 class="sectiontitle">max_streams_per_query</h4><p id="EN-US_TOPIC_0000001188323574__p72482015192010"><strong id="EN-US_TOPIC_0000001188323574__b1062488124215">Parameter description</strong>: Controls the number of Stream nodes in a query plan. (This parameter is supported only in 8.1.3.200 and later cluster versions.)</p>
<p id="EN-US_TOPIC_0000001188323574__p7475184073417"><strong id="EN-US_TOPIC_0000001188323574__b16590111894218">Type</strong>: SUSET</p>
<p id="EN-US_TOPIC_0000001188323574__p747516404348"><strong id="EN-US_TOPIC_0000001188323574__b73182020134210">Value range</strong>: an integer ranging from 1 to 10000.</p>
<ul id="EN-US_TOPIC_0000001188323574__ul44751140153417"><li id="EN-US_TOPIC_0000001188323574__li6475240163413"><strong id="EN-US_TOPIC_0000001188323574__b1972117523425">-1</strong> indicates that the number of Stream nodes in the query plan is not limited.</li><li id="EN-US_TOPIC_0000001188323574__li1247524043414">A value within the range <strong id="EN-US_TOPIC_0000001188323574__b954421310437">0</strong> to <strong id="EN-US_TOPIC_0000001188323574__b687161811439">10000</strong> indicates that when the number of Stream nodes in the query plan exceeds the specified value, an error is reported and the query plan will not be executed.</li></ul>
<div class="note" id="EN-US_TOPIC_0000001188323574__note1647615400342"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188323574__ul947684043412"><li id="EN-US_TOPIC_0000001188323574__li1047616408342">This parameter controls only the Stream nodes on DNs and does not control the Gather nodes on the CN.</li><li id="EN-US_TOPIC_0000001188323574__li2080717269434">This parameter does not affect the EXPLAIN query plan, but affects EXPLAIN ANALYZE and EXPLAIN PERFORMANCE.</li></ul>
</div></div>
<p id="EN-US_TOPIC_0000001188323574__p4476140153411"><strong id="EN-US_TOPIC_0000001188323574__b35986345549">Default value</strong>: <strong id="EN-US_TOPIC_0000001188323574__b860573485413">1</strong></p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_04_0908.html">Query Planning</a></div>
</div>
</div>