暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

OceanBase SQL语句THROTTLE

2024-03-24
157

描述

该语句用来设置 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 abc 优先级分别为 123,设置 ALTER SYSTEM ENABLE SQL THROTTLE FOR PRIORITY <= 2 USING QUEUE_TIME=0.1; 表示 Session ab 受限流影响,而 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论