GaussDB-设置慢SQL管控规则的Hint

86 阅读1分钟

GaussDB-设置慢SQL管控规则的Hint

功能描述

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

语法格式

| ``` wlmrule("time_limit,max_execute_time,max_iops")

| -------------------------------------------------------- |

![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/a6319b04177e464ca9b50ad764eb71f2~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1775633863&x-signature=hK3ghKX8DyXlax5EzgzNiECkIKo%3D)

本参数仅在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。

更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>