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 不同,二者不兼容。