CREATE RESOURCE GROUP
CREATE RESOURCE GROUP 语句用于在当前所选数据库中创建资源组。
语法图
CreateResourceGroupStmt

IfNotExists

ResourceGroupName

ResourceGroupOptionList

DirectResourceGroupOption

ResourceGroupPriorityOption

1. CreateResourceGroupStmt ::=
2. "CREATE" "RESOURCE" "GROUP" IfNotExists ResourceGroupName ResourceGroupOptionList
4. IfNotExists ::=
5. ('IF' 'NOT' '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
资源组的 ResourceGroupName 是全局唯一的,不允许重复。
TiDB 支持以下 DirectResourceGroupOption, 其中 Request Unit (RU) 是 TiDB 对 CPU、IO 等系统资源统一抽象的单位。
| 参数 | 含义 | 举例 |
|---|---|---|
RU_PER_SEC |
每秒 RU 填充的速度 | RU_PER_SEC = 500 表示此资源组每秒回填 500 个 RU。 |
PRIORITY |
任务在 TiKV 上处理的绝对优先级 | PRIORITY = HIGH 表示优先级高。若未指定,则默认为 MEDIUM。 |
BURSTABLE |
允许对应的资源组超出配额后使用空余的系统资源。 |

注意
CREATE RESOURCE GROUP语句只能在全局变量 tidb_enable_resource_control 设置为ON时才能执行。- TiDB 集群在初始化时会自动创建
default资源组,其RU_PER_SEC的默认值为UNLIMITED(等同于INT类型最大值,即2147483647),且为BURSTABLE模式。所有未绑定资源组的请求都将自动绑定至此资源组。在新建配置其他资源组时,建议根据实际情况修改default资源组的配置。
示例
创建 rg1 和 rg2 两个资源组。
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. PRIORITY = HIGH
4. BURSTABLE;
1. Query OK, 0 rows affected (0.08 sec)
1. CREATE RESOURCE GROUP IF NOT EXISTS rg2
2. RU_PER_SEC = 200;
1. Query OK, 0 rows affected (0.08 sec)
1. SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1' or NAME = 'rg2';
1. +------+------------+----------+-----------+
2. | NAME | RU_PER_SEC | PRIORITY | BURSTABLE |
3. +------+------------+----------+-----------+
4. | rg1 | 100 | HIGH | YES |
5. | rg2 | 200 | MEDIUM | NO |
6. +------+------------+----------+-----------+
7. 2 rows in set (1.30 sec)
MySQL 兼容性
MySQL 也支持 CREATE RESOURCE GROUP,但是接受的参数和 TiDB 不同,两者并不兼容。
