yuan-er

导航

 

绑定/解绑慢SQL执行计划

操作场景

该功能将特定的执行计划与SQL语句绑定在一起,以提升被纳管数据库实例查询性能,并确保执行计划的稳定性。

GaussDB数据库实例绑定执行计划时,GaussDB实例无需被DBMind实例纳管。

前提条件

如果需要绑定执行计划,则需要设置参数spm_enable_plan_capture值为“auto”,设置方法参见修改GaussDB实例参数

约束限制

  • 绑定执行计划,只能对集中式版的GaussDB数据库实例进行操作,不支持分布式版的GaussDB实例。
  • GaussDB实例的数据库引擎版本需要大于等于V2.0-3.100,内核版本大于等于503.0。

操作步骤

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在页面左上角单击,选择数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
  4. 选择指定的实例,单击实例名称,进入实例基本信息页面。
  5. 在左侧导航栏中单击“诊断优化 > SQL视图”,选择单击“慢SQL”。
  6. 在“执行计划绑定”列单击“详情”,弹出“执行计划绑定详情”框,可查看该条慢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 执行计划绑定详情

     

 
posted on 2025-02-25 16:02  数据库笔记  阅读(11)  评论(0)    收藏  举报