绑定/解绑慢SQL执行计划
操作场景
该功能将特定的执行计划与SQL语句绑定在一起,以提升被纳管数据库实例查询性能,并确保执行计划的稳定性。
GaussDB数据库实例绑定执行计划时,GaussDB实例无需被DBMind实例纳管。
前提条件
如果需要绑定执行计划,则需要设置参数spm_enable_plan_capture值为“auto”,设置方法参见修改GaussDB实例参数。
约束限制
- 绑定执行计划,只能对集中式版的GaussDB数据库实例进行操作,不支持分布式版的GaussDB实例。
- GaussDB实例的数据库引擎版本需要大于等于V2.0-3.100,内核版本大于等于503.0。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。 - 在页面左上角单击
,选择 - 选择指定的实例,单击实例名称,进入实例基本信息页面。
- 在左侧导航栏中单击“诊断优化 > SQL视图”,选择单击“慢SQL”。
- 在“执行计划绑定”列单击“详情”,弹出“执行计划绑定详情”框,可查看该条慢SQL捕获到的执行计划。
绑定状态:单击
,选择绑定状态,单击“确定”后,完成绑定/解绑慢SQL执行计划。
一条慢SQL可以绑定多个执行计划,被纳管实例将从中选择代价最小的执行计划。
使用gsql连接数据库,手动prepare +SQL,然后使用execute执行查询的场景,execute语句的unique_sql_id无法检索相关绑定计划。比如:
prepare p1(int) as select * from t1 where t1.a = $1;
execute p1(1);
execute p2(1);
使用execute p1(1)和execute p1(2)的unique_sql_id都无法检索相关绑定计划,需要使用select * from t1 where t1.a = $1的unique_sql_id,或者使用文本在spm相关视图中进行检索。
图1 执行计划绑定详情![点击放大]()
,选择区域和项目。
,选择
,选择绑定状态,单击“确定”后,完成绑定/解绑慢SQL执行计划。

浙公网安备 33010602011771号