更新时间:2025-05-29 GMT+08:00

SPM计划管理函数

当前SPM计划管理特性在分布式下不支持,所以在分布式下调用下面的这些函数都会给出分布式下不支持的错误提示。

GS_SPM_EVOLUTE_PLAN(sql_hash, plan_hash)

描述:GS_SPM_EVOLUTE_PLAN属于DBE_SQL_UTIL schema,是SPM特性用于计划演进的接口函数。

参数:参数介绍见表1 GS_SPM_EVOLUTE_PLAN入参和返回值列表

表1 GS_SPM_EVOLUTE_PLAN入参和返回值列表

参数

类型

描述

取值范围

sql_hash

IN bigint

SQL文本的hash值。

-

plan_hash

IN bigint

SQL计划outline文本的hash值。

-

evolute_status

OUT boolean

演进行为是否正常完成:t表示正常;异常会报错。

t/f

返回值类型:boolean

GS_SPM_SET_PLAN_STATUS(sql_hash, plan_hash, plan_status)

描述:GS_SPM_SET_PLAN_STATUS属于DBE_SQL_UTIL schema,它是SPM特性用于修改baseline状态的接口函数。

参数:参数介绍见表3 GS_SPM_SET_PLAN_STATUS入参和返回值列表

表2 GS_SPM_SET_PLAN_STATUS入参和返回值列表

参数

类型

描述

取值范围

sql_hash

IN bigint

SQL文本的hash值。

-

plan_hash

IN bigint

SQL计划outline文本的hash值。

-

plan_status

IN text

计划的状态。

  • ACC:表示已经接受的计划。
  • UNACC:表示未接受的计划。
  • FIXED:一种特殊的ACC状态的计划,计划的匹配优先级高于ACC状态的计划。

execute_status

OUT boolean

修改计划状态行为是否正常完成:t表示正常;异常会报错。

t/f

返回值类型:boolean

GS_SPM_DISPLAY_PLANS(sql_hash)

描述:GS_SPM_DISPLAY_PLANS属于DBE_SQL_UTIL schema,它是SPM特性用于查看单条SQL所有baseline的接口函数。

参数:参数介绍见表4 GS_SPM_DISPLAY_PLANS入参和返回值列表

表3 GS_SPM_DISPLAY_PLANS入参和返回值列表

参数

类型

描述

取值范围

sql_hash

IN bigint

SQL唯一标识。

-

sql_hash

OUT bigint

SQL文本的hash值。

-

plan_hash

OUT bigint

SQL计划outline文本的hash值。

-

outline

OUT text

当前计划对应outline的所有Hint的组合字符串。

-

cost

OUT double

当前计划的代价。

-

status

OUT text

当前计划的状态。

  • ACC:表示已经接受的计划。
  • UNACC:表示未接受的计划。
  • FIXED:一种特殊的ACC状态的计划,计划的匹配优先级高于ACC状态的计划。

gplan

OUT boolean

当前计划是否是gplan。t表示是gplan;异常会报错。

t/f

返回值类型:bigint, text, double, text, boolean

GS_SPM_RELOAD_PLAN(sql_hash,plan_hash)

描述:GS_SPM_RELOAD_PLAN属于DBE_SQL_UTIL schema,它是SPM特性用于加载baseline系统表中某baseline到SPM global cache中的接口函数。

参数:参数介绍见表5 GS_SPM_RELOAD_PLAN入参和返回值列表

表4 GS_SPM_RELOAD_PLAN入参和返回值列表

参数

类型

描述

取值范围

sql_hash

IN bigint

SQL文本的hash值。

-

plan_hash

IN bigint

SQL计划outline文本的hash值。

-

execute_status

OUT boolean

baseline的加载行为是否正常完成:t表示正常;异常会报错。

t/f

返回值类型:boolean

GS_SPM_VALIDATE_PLAN(sql_hash, plan_hash)

描述:GS_SPM_VALIDATE_PLAN属于DBE_SQL_UTIL schema,它是SPM特性用于计划可用性验证的接口函数。

参数:参数介绍见表9 GS_SPM_VALIDATE_PLAN入参和返回值列表

表5 GS_SPM_VALIDATE_PLAN入参和返回值列表

参数

类型

取值范围

sql_hash

IN bigint

SQL文本的hash值。

-

plan_hash

IN bigint

SQL计划outline文本的hash值。

-

execute_status

OUT boolean

被验证的计划是否可用:

t:被验证的计划可用;f: 被验证的计划不可用

t/f

返回值类型:boolean

GS_SPM_DELETE_PLAN(sql_hash, plan_hash)

描述:GS_SPM_DELETE_PLAN属于DBE_SQL_UTIL schema,它是SPM特性用于计划删除baseline的接口函数。

参数: 参数介绍见表10 GS_SPM_DELETE_PLAN入参和返回值列表

表6 GS_SPM_DELETE_PLAN入参和返回值列表

参数

类型

描述

取值范围

sql_hash

IN bigint

SQL文本的hash值。

-

plan_hash

IN bigint

SQL计划outline文本的hash值。

-

execute_status

OUT boolean

计划删除行为是否正常完成:t表示正常;异常会报错。

t/f

返回值类型:boolean