描述
该语句用来设置 SQL 特征限流。让符合设置限流特征的 SQL 请求提早失败,避免它对正常请求造成影响。
语法
alter_system_throttle_stmt:
ALTER SYSTEM throttle_action;
throttle_action:
ENABLE SQL THROTTLE [priority_option] [using_metric_option_list]
| DISABLE SQL
priority_option:
FOR PRIORITY <= INT_VALUE
using_metric_option_list:
USING metric_option_list
metric_option_list:
metric_option [metric_option ...]
metric_option:
RT = {INT_VALUE | DECIMAL_VALUE}
| CPU = {INT_VALUE | DECIMAL_VALUE}
| IO = INT_VALUE
| NETWORK = {INT_VALUE | DECIMAL_VALUE}
| QUEUE_TIME = {INT_VALUE | DECIMAL_VALUE}
| LOGICAL_READS = {INT_VALUE | DECIMAL_VALUE}
参数解释
| 参数 | 描述 |
|---|---|
| ENABLE SQL | 开启限流,后接限流特征及特征值。 |
| FOR PRIORITY | 设定受到限流影响的优先级,目的是限流影响只在部分 Session 生效。 您可以通过会话级变量 sql_throttle_priority 设置当前会话的优先级,默认为 100。有关该变量的详细信息,请参见《参考指南》中的 系统变量 章节。 例如 Session a、b、c 优先级分别为 1、2、3,设置 ALTER SYSTEM ENABLE SQL THROTTLE FOR PRIORITY <= 2 USING QUEUE_TIME=0.1; 表示 Session a、b 受限流影响,而 c 不受限流影响。 |
| RT | 按 SQL 响应时间(Response Time)限流。 |
| CPU | 按 CPU 占用限流。 说明 当前版本暂不支持该参数。 |
| IO | 按 IO 次数限流。 说明 当前版本暂不支持该参数。 |
| NETWORK | 按传输的网络流量大小限流。 说明 当前版本暂不支持该参数。 |
| QUEUE_TIME | 按队列等待时间限流。 |
| LOGICAL_READS | 按逻辑读次数限流。 说明 当前版本暂不支持该参数。 |
| DISABLE SQL | 关闭限流。 |
示例
对 PRIORITY 小于等于 100 的 Session 上队列等待时间超过 0.1s 的请求限流。
obclient> ALTER SYSTEM ENABLE SQL THROTTLE FOR PRIORITY <= 100 USING QUEUE_TIME=0.1;「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




