Updated on 2023-10-23 GMT+08:00

Optimizer GUC Parameter Hints

Function

Sets GUC parameters related to query optimization that take effect during the query execution. For details about the application scenarios of hints, see the description of each GUC parameter.

Syntax

1
set(param value)

Parameters

  • param indicates the parameter name.
  • value indicates the value of a parameter.
  • Currently, the following parameters can be set and take effect by using Hint:
    • Boolean

      enable_bitmapscan, enable_hashagg, enable_hashjoin, enable_indexscan, enable_indexonlyscan, enable_material, enable_mergejoin, enable_nestloop, enable_index_nestloop, enable_seqscan, enable_sort, and enable_tidscan

    • Integer

      query_dop

    • Floating point

      cost_weight_index, default_limit_rows, seq_page_cost, random_page_cost, cpu_tuple_cost, cpu_index_tuple_cost, cpu_operator_cost, and effective_cache_size

    • Enumeration

      try_vector_engine_strategy

  • If you set a parameter that is not in the whitelist and the parameter value is invalid or the hint syntax is incorrect, the query execution is not affected. Run explain(verbose on). An error message is displayed, indicating that hint parsing fails.
  • The GUC parameter hint takes effect only in the outermost query. That is, the GUC parameter hint in the subquery does not take effect.
  • The GUC parameter hint in the view definition does not take effect.
  • In the CREATE TABLE ... AS ... statement, the outermost GUC parameter hint takes effect.