更新时间:2024-05-07 GMT+08:00

设置慢SQL管控规则的Hint

功能描述

针对想要进行执行时间/资源管控的SQL语句,设置其被标记为慢SQL的执行时间,最大执行时间,最大IOPS上限。

语法格式

1
wlmrule("time_limit,max_execute_time,max_iops")
本参数仅在enable_thread_pool=on时对非sysadmin/monitoradmin用户执行的select类型的语句生效。
  • time_limit:SQL语句被标记为慢SQL的执行时长,取值为0-INT_MAX,CN和DN上均可生效。
  • max_execute_time:SQL语句的最大执行时间,执行时间超过该时长后被强制cancel退出,取值为0-INT_MAX,仅在DN上生效。当max_execute_time小于或等于time_limit时,该规则不生效。
  • max_iops:SQL语句被标记为慢SQL后最大iops上限,仅在use_workload_manager=on时生效。iops限制采用逻辑IO管控,iops定义请参考io_control_unit定义。取值范围为:Low,Medium,High,None,0-INT_MAX,仅在DN上生效。

示例

select /*+ wlmrule("100,500,1") */ * from t2 order by b limit 1;

表示指定当前语句被标记为慢SQL的执行时长为100ms,最大执行时间为500ms,最大iops上限为1。