title | summary |
---|---|
SET RESOURCE GROUP |
TiDB 数据库中 SET RESOURCE GROUP 的使用概况。 |
SET RESOURCE GROUP
用于设置当前会话使用的资源组。
SetResourceGroupStmt:
SetResourceGroupStmt ::=
"SET" "RESOURCE" "GROUP" ResourceGroupName
ResourceGroupName ::=
Identifier
| "DEFAULT"
要执行此命令,需满足以下配置和权限:
tidb_enable_resource_control
设置为ON
。- 当系统变量
tidb_resource_control_strict_mode
设置为ON
时,你需要有SUPER
或者RESOURCE_GROUP_ADMIN
或者RESOURCE_GROUP_USER
权限;当设置为OFF
时,则无需上述权限。
创建一个用户 user1
,创建两个资源组 rg1
和 rg2
,并将用户 user1
绑定资源组 rg1
。
CREATE USER 'user1';
CREATE RESOURCE GROUP 'rg1' RU_PER_SEC = 1000;
ALTER USER 'user1' RESOURCE GROUP `rg1`;
使用 user1
登录,查看当前用户绑定的资源组。
SELECT CURRENT_RESOURCE_GROUP();
+--------------------------+
| CURRENT_RESOURCE_GROUP() |
+--------------------------+
| rg1 |
+--------------------------+
1 row in set (0.00 sec)
执行 SET RESOURCE GROUP
将当前会话的资源组设置为 rg2
。
SET RESOURCE GROUP `rg2`;
SELECT CURRENT_RESOURCE_GROUP();
+--------------------------+
| CURRENT_RESOURCE_GROUP() |
+--------------------------+
| rg2 |
+--------------------------+
1 row in set (0.00 sec)
执行 SET RESOURCE GROUP
设置当前会话使用默认资源组。
SET RESOURCE GROUP `default`;
SELECT CURRENT_RESOURCE_GROUP();
+--------------------------+
| CURRENT_RESOURCE_GROUP() |
+--------------------------+
| default |
+--------------------------+
1 row in set (0.00 sec)
MySQL 也支持 SET RESOURCE GROUP,但是接受的参数和 TiDB 不同,两者并不兼容。