SET RESOURCE GROUP
SET RESOURCE GROUP 用于为当前会话设置资源组。
语法
SetResourceGroupStmt:
- SetResourceGroupStmt
- ResourceGroupName
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 兼容性
MySQL 也支持 SET RESOURCE GROUP。但其接受的参数与 TiDB 不同,二者不兼容。