
# 配置参数的hint
#### 功能描述
指明计划生成时配置参数的值，又称作guc hint。
#### 注意事项
- 如果hint设置的配置参数在语句级别生效，则该hint必须写在顶层查询中，而不能写在子查询中。对于UNION、INTERSECT、EXCEPT和MINUS语句，可以将在语句级别的guc hint写在参与集合运算的任意一个SELECT子句上，该guc hint设置的配置参数会在参与集合运算的每个SELECT子句上生效。
- 子查询提升时，该子查询上的所有guc hint会被丢弃。
- 如果一个配置参数既被语句级别的guc hint设置，又被子查询级别的guc hint设置，则子查询级别的guc hint在对应的子查询中生效，语句级别的guc hint在语句的其它子查询中生效。
 
#### 语法格式
```
set [global]([@block_name] guc_name guc_value)
```
#### 参数说明
- **global**表示hint设置的配置参数在语句级别生效，不加global表示hint设置的配置参数在子查询级别生效，即仅在hint所在的子查询中生效，在该语句的其它子查询中不生效。
- **block_name** 表示语句块的block_name，详细说明请参考[block_name](https://support.huaweicloud.com/devg-dws/dws_04_0456.html#ZH-CN_TOPIC_0000002080515442__zh-cn_topic_0000001460722632_li99021444551)。
- **guc_name**表示hint指定的配置参数的名称。

- **guc_value**表示hint指定的配置参数的值。
 
guc hint当前仅支持部分配置参数，并且有些配置参数不支持在子查询级别设置，只能在语句级别设置，以下为支持的参数列表：
表1guc hint支持的配置参数 
| 配置参数名                             | 是否支持在子查询级别设置 |
|:---|:---|
| agg_max_mem                       | 是            |
| agg_redistribute_enhancement      | 是            |
| best_agg_plan                     | 是            |
| cost_model_version                | 否            |
| cost_param                        | 否            |
| enable_array_optimization         | 否            |
| enable_bitmapscan                 | 是            |
| enable_broadcast                  | 是            |
| enable_csqual_pushdown            | 否            |
| enable_redistribute               | 是            |
| enable_extrapolation_stats        | 是            |
| enable_fast_query_shipping        | 否            |
| enable_force_vector_engine        | 否            |
| enable_hashagg                    | 是            |
| enable_hashfilter                 | 否            |
| enable_hashjoin                   | 是            |
| enable_index_nestloop             | 是            |
| enable_indexonlyscan              | 是            |
| enable_indexscan                  | 是            |
| enable_join_pseudoconst           | 是            |
| enable_mergejoin                  | 是            |
| enable_mixedagg                   | 否            |
| enable_nestloop                   | 是            |
| enable_nodegroup_debug            | 否            |
| enable_partition_dynamic_pruning  | 是            |
| enable_seqscan                    | 是            |
| enable_sonic_hashagg              | 否            |
| enable_sonic_hashjoin             | 是            |
| enable_sort                       | 是            |
| enable_stream_ctescan             | 否            |
| enable_tidscan                    | 是            |
| enable_value_redistribute         | 是            |
| enable_vector_engine              | 否            |
| expected_computing_nodegroup      | 否            |
| force_bitmapand                   | 是            |
| from_collapse_limit               | 是            |
| join_collapse_limit               | 是            |
| join_num_distinct                 | 是            |
| outer_join_max_rows_multipler     | 是            |
| prefer_hashjoin_path              | 否            |
| qrw_inlist2join_optmode           | 是            |
| qual_num_distinct                 | 是            |
| query_dop                         | 否            |
| query_max_mem                     | 否            |
| query_mem                         | 否            |
| rewrite_rule                      | 否            |
| setop_optmode                     | 是            |
| skew_option                       | 是            |
| stream_ctescan_max_estimate_mem   | 否            |
| stream_ctescan_pred_threshold     | 否            |
| stream_ctescan_refcount_threshold | 否            |
| windowagg_pushdown_enhancement    | 否            |
| index_selectivity_cost            | 是            |
| index_cost_limit                  | 是            |
   
#### 示例
对[示例](https://support.huaweicloud.com/devg-dws/dws_04_0455.html#ZH-CN_TOPIC_0000002053159594__zh-cn_topic_0000001658028034_section671421102912)中原语句使用如下hint：
```
explain
select /*+ set global(query_dop 0) */ i_product_name product_name
...
```
该hint表示：在整个语句的计划生成过程中，将配置参数query_dop设置为0，即打开SMP自适应功能。生成的计划如下图所示：
![](https://support.huaweicloud.com/devg-dws/figure/zh-cn_image_0000001811610593.png "点击放大")
