文档首页 > > 开发指南> 优化查询性能> 改进查询> 使用Plan Hint进行调优>

配置参数的hint

配置参数的hint

分享
更新时间:2021/04/07 GMT+08:00

功能描述

指明计划生成时配置参数的值,又称作guc hint。当前只支持设置best_agg_plan、enable_nodegroup_debug、expected_computing_nodegroup和query_dop的值。

  • 8.0.0基线版本下,仅8.0.0.5及以后版本支持该参数。
  • 8.1.0基线版本下,仅8.1.0.3及以后版本支持该参数。

语法格式

set [global](guc_name guc_value)

参数说明

  • global表示hint设置的配置参数在语句级别生效,不加global表示hint设置的配置参数在子查询级别生效,即仅在hint所在的子查询中生效,在该语句的其它子查询中不生效。
  • guc_name表示hint指定的配置参数的名称。
  • guc_value表示hint指定的配置参数的值。
  • 如果hint设置的配置参数在语句级别生效,则该hint必须写在顶层查询中,而不能写在子查询中。对于UNION、INTERSECT、EXCEPT和MINUS语句,可以将在语句级别的guc hint写在参与集合运算的任意一个SELECT子句上,该guc hint设置的配置参数会在参与集合运算的每个SELECT子句上生效。
  • 子查询提升时,该子查询上的所有guc hint会被丢弃。
  • 对于配置参数enable_nodegroup_debug、expected_computing_nodegroup和query_dop,不支持在子查询级别设置,只能在语句级别设置。
  • 如果一个配置参数既被语句级别的guc hint设置,又被子查询级别的guc hint设置,则子查询级别的guc hint在对应的子查询中生效,语句级别的guc hint在语句的其它子查询中生效。

示例

示例中原语句使用如下hint:

explain
select /*+ set global(query_dop 0) */ i_product_name product_name
...

该hint表示:在整个语句的计划生成过程中,将配置参数query_dop设置为0,即打开SMP自适应功能。生成的计划如下图所示:

分享:

    相关文档

    相关产品