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
  3. IfExists ::=
  4. ('IF' 'EXISTS')?
  5. ResourceGroupName ::=
  6. Identifier
  7. ResourceGroupOptionList ::=
  8. DirectResourceGroupOption
  9. | ResourceGroupOptionList DirectResourceGroupOption
  10. | ResourceGroupOptionList ',' DirectResourceGroupOption
  11. DirectResourceGroupOption ::=
  12. "RU_PER_SEC" EqOpt stringLit
  13. | "PRIORITY" EqOpt ResourceGroupPriorityOption
  14. | "BURSTABLE"
  15. ResourceGroupPriorityOption ::=
  16. LOW
  17. | MEDIUM
  18. | 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 不同,两者并不兼容。

另请参阅