ALTER RESOURCE GROUP

ALTER RESOURCE GROUP 语句用于在当前所选数据库中修改资源组。

语法图

AlterResourceGroupStmt

ALTER RESOURCE GROUP - 图1

IfExists

ALTER RESOURCE GROUP - 图2

ResourceGroupName

ALTER RESOURCE GROUP - 图3

ResourceGroupOptionList

ALTER RESOURCE GROUP - 图4

DirectResourceGroupOption

ALTER RESOURCE GROUP - 图5

ResourceGroupPriorityOption

ALTER RESOURCE GROUP - 图6

1. AlterResourceGroupStmt ::=
2. "ALTER" "RESOURCE" "GROUP" IfExists ResourceGroupName ResourceGroupOptionList

4. IfExists ::=
5. ('IF' 'EXISTS')?

7. ResourceGroupName ::=
8. Identifier

10. ResourceGroupOptionList ::=
11. DirectResourceGroupOption
12. |   ResourceGroupOptionList DirectResourceGroupOption
13. |   ResourceGroupOptionList ',' DirectResourceGroupOption

15. DirectResourceGroupOption ::=
16. "RU_PER_SEC" EqOpt stringLit
17. |   "PRIORITY" EqOpt ResourceGroupPriorityOption
18. |   "BURSTABLE"

20. ResourceGroupPriorityOption ::=
21. LOW
22. |   MEDIUM
23. |   HIGH

TiDB 支持以下 DirectResourceGroupOption, 其中 Request Unit (RU) 是 TiDB 对 CPU、IO 等系统资源统一抽象的单位。

参数 含义 举例
RU_PER_SEC 每秒 RU 填充的速度 RU_PER_SEC = 500 表示此资源组每秒回填 500 个 RU。
PRIORITY 任务在 TiKV 上处理的绝对优先级 PRIORITY = HIGH 表示优先级高。若未指定则默认为 MEDIUM。
BURSTABLE 允许对应的资源组超出配额后使用空余的系统资源。

ALTER RESOURCE GROUP - 图7

注意

ALTER RESOURCE GROUP 语句只能在全局变量 tidb_enable_resource_control 参数设置为 ON 时才能执行。

示例

创建一个名为 rg1 的资源组,并修改它的属性。

1. DROP RESOURCE GROUP IF EXISTS rg1;
1. Query OK, 0 rows affected (0.22 sec)
1. CREATE RESOURCE GROUP IF NOT EXISTS rg1
2. RU_PER_SEC = 100
3. BURSTABLE;
1. Query OK, 0 rows affected (0.08 sec)
1. SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
1. +------+------------+----------+-----------+
2. | NAME | RU_PER_SEC | PRIORITY | BURSTABLE |
3. +------+------------+----------+-----------+
4. | rg1  |       100  | MEDIUM   | YES       |
5. +------+------------+----------+-----------+
6. 1 rows in set (1.30 sec)
1. ALTER RESOURCE GROUP rg1
2. RU_PER_SEC = 200
3. PRIORITY = LOW;
1. Query OK, 0 rows affected (0.08 sec)
1. SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
1. +------+------------+----------+-----------+
2. | NAME | RU_PER_SEC | PRIORITY | BURSTABLE |
3. +------+------------+----------+-----------+
4. | rg1  |       200  | LOW      | NO        |
5. +------+------------+----------+-----------+
6. 1 rows in set (1.30 sec)

MySQL 兼容性

MySQL 也支持 ALTER RESOURCE GROUP,但是接受的参数和 TiDB 不同,两者并不兼容。

另请参阅