云数据库 GAUSSDB-其他优化器选项:plan_cache_mode

时间:2024-11-02 18:46:21

plan_cache_mode

参数说明:标识在prepare语句中,选择生成执行计划的策略。

参数类型:枚举型

参数单位:

取值范围

  • auto表示按照默认的方式选择custom plan或者generic plan。
  • force_generic_plan表示强制走generic plan(软解析)。generic plan是指对于prepare语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。bind会绑定第一次传入的参数类型,如果同一占位符两次传入的参数类型不一致会导致报错。
  • force_custom_plan表示强制走custom plan(硬解析)。custom plan是指对于prepare语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。

此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。

默认值:auto

设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。

设置建议:根据实际业务场景进行设置。

support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-1682.html