MySQL - CREATE RESOURCE GROUP 语句
在 MySQL 中,您可以创建资源组并将线程分配给这些组。这些线程根据组中资源的可用性执行,即组属性控制资源,并且组中的线程受限于可用资源。
MySQL 提供了各种语句来创建、修改、删除组资源以及将线程分配给组资源。
CREATE RESOURCE GROUP 语句
您可以使用 CREATE RESOURCE GROUP 语句创建资源组,该语句还会分配所创建资源组的初始属性值。您需要 RESOURCE_GROUP_ADMIN 权限才能执行该语句。
语法
以下是 MySQL CREATE RESOURCE GROUP 语句的语法 -
CREATE RESOURCE GROUP group_name TYPE = {SYSTEM|USER} [VCPU [=] vcpu_spec [, vcpu_spec] ...] [THREAD_PRIORITY [=] N] [ENABLE|DISABLE]
其中,group_name 是您需要创建的资源组的名称。type 用于指定资源组是系统资源组还是用户资源组。
示例
以下查询将创建一个名为 sample_group 的资源组 -
CREATE RESOURCE GROUP sample_group TYPE = USER;
如果您尝试创建一个名称已存在的资源组,则会生成错误
CREATE RESOURCE GROUP sample_group TYPE = USER; ERROR 3650 (HY000): Resource Group 'sample_group' exists
VPU 属性
CREATE RESOURCE GROUP 语句的 VPU 属性用于设置资源组的 CPU 亲和性。如果您未设置此值,则该资源组将使用所有可用的 CPU。
CREATE RESOURCE GROUP sample_group1 TYPE = USER VCPU = 0,1,2,3;
线程优先级属性
线程优先级属性用于设置要创建的线程的优先级。如果您未指定此值,则默认值为 0。资源组中线程的优先级范围为 -20 到 19。
CREATE RESOURCE GROUP sample_group2 TYPE = USER VCPU = 0 THREAD_PRIORITY = 2;
ENABLE 属性
如果您在查询中使用 ENABLE(属性值),则资源组初始处于启用状态;如果您在语句中指定 DISABLE,则资源组初始处于禁用状态。
CREATE RESOURCE GROUP sample_group2 TYPE = USER VCPU = 0 THREAD_PRIORITY = 2 DISABLE;
mysql_statements_reference.html