title | summary |
---|---|
ALTER RESOURCE GROUP |
TiDB 数据库中 ALTER RESOURCE GROUP 的使用概况。 |
ALTER RESOURCE GROUP
语句用于在当前所选数据库中修改资源组。
AlterResourceGroupStmt ::=
"ALTER" "RESOURCE" "GROUP" IfExists ResourceGroupName ResourceGroupOptionList
IfExists ::=
('IF' 'EXISTS')?
ResourceGroupName ::=
Identifier
ResourceGroupOptionList ::=
DirectResourceGroupOption
| ResourceGroupOptionList DirectResourceGroupOption
| ResourceGroupOptionList ',' DirectResourceGroupOption
DirectResourceGroupOption ::=
"RU_PER_SEC" EqOpt stringLit
| "PRIORITY" EqOpt ResourceGroupPriorityOption
| "BURSTABLE"
ResourceGroupPriorityOption ::=
LOW
| MEDIUM
| 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
语句只能在全局变量tidb_enable_resource_control
参数设置为ON
时才能执行。
创建一个名为 rg1
的资源组,并修改它的属性。
DROP RESOURCE GROUP IF EXISTS rg1;
Query OK, 0 rows affected (0.22 sec)
CREATE RESOURCE GROUP IF NOT EXISTS rg1
RU_PER_SEC = 100
BURSTABLE;
Query OK, 0 rows affected (0.08 sec)
SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+------------+----------+-----------+
| NAME | RU_PER_SEC | PRIORITY | BURSTABLE |
+------+------------+----------+-----------+
| rg1 | 100 | MEDIUM | YES |
+------+------------+----------+-----------+
1 rows in set (1.30 sec)
ALTER RESOURCE GROUP rg1
RU_PER_SEC = 200
PRIORITY = LOW;
Query OK, 0 rows affected (0.08 sec)
SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+------------+----------+-----------+
| NAME | RU_PER_SEC | PRIORITY | BURSTABLE |
+------+------------+----------+-----------+
| rg1 | 200 | LOW | NO |
+------+------------+----------+-----------+
1 rows in set (1.30 sec)
MySQL 也支持 ALTER RESOURCE GROUP,但是接受的参数和 TiDB 不同,两者并不兼容。