📣

TiDB Cloud Serverless 现已更名为
Starter
!此页面由 AI 自动翻译,英文原文请见
此处。

CREATE RESOURCE GROUP

你可以使用 CREATE RESOURCE GROUP 语句来创建资源组。

语法

CreateResourceGroupStmt
CREATERESOURCEGROUPIfNotExistsResourceGroupNameResourceGroupOptionList
IfNotExists
IFNOTEXISTS
ResourceGroupName
IdentifierDEFAULT
ResourceGroupOptionList
DirectResourceGroupOptionResourceGroupOptionListDirectResourceGroupOptionResourceGroupOptionList,DirectResourceGroupOption
DirectResourceGroupOption
RU_PER_SECEqOptstringLitPRIORITYEqOptResourceGroupPriorityOptionBURSTABLEBURSTABLEEqOptBooleanQUERY_LIMITEqOpt(ResourceGroupRunawayOptionList)QUERY_LIMITEqOpt()QUERY_LIMITEqOptNULLBACKGROUNDEqOpt(BackgroundOptionList)BACKGROUNDEqOpt()BACKGROUNDEqOptNULL
ResourceGroupPriorityOption
LOWMEDIUMHIGH
ResourceGroupRunawayOptionList
DirectResourceGroupRunawayOptionResourceGroupRunawayOptionListDirectResourceGroupRunawayOptionResourceGroupRunawayOptionList,DirectResourceGroupRunawayOption
DirectResourceGroupRunawayOption
EXEC_ELAPSEDEqOptstringLitPROCESSED_KEYSEqOptintLitRUEqOptintLitACTIONEqOptResourceGroupRunawayActionOptionWATCHEqOptResourceGroupRunawayWatchOptionWatchDurationOption
WatchDurationOption
DURATIONEqOptstringLitDURATIONEqOptUNLIMITED
ResourceGroupRunawayWatchOption
EXACTSIMILARPLAN
ResourceGroupRunawayActionOption
DRYRUNCOOLDOWNKILLSWITCH_GROUP(ResourceGroupName)

资源组名称参数(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如果设置了 BURSTABLE 属性,TiDB 允许对应资源组在超出配额时使用可用的系统资源。
QUERY_LIMIT当查询执行满足该条件时,查询会被识别为异常查询并执行相应操作。QUERY_LIMIT=(EXEC_ELAPSED='60s', ACTION=KILL, WATCH=EXACT DURATION='10m') 表示当查询执行时间超过 60 秒时,该查询会被识别为异常查询并被终止。所有 SQL 文本相同的 SQL 语句将在接下来的 10 分钟内被立即终止。QUERY_LIMIT=()QUERY_LIMIT=NULL 表示未启用异常查询控制。详见 异常查询

示例

创建两个资源组 rg1rg2

DROP RESOURCE GROUP IF EXISTS rg1;
Query OK, 0 rows affected (0.22 sec)
CREATE RESOURCE GROUP IF NOT EXISTS rg1 RU_PER_SEC = 100 PRIORITY = HIGH BURSTABLE;
Query OK, 0 rows affected (0.08 sec)
CREATE RESOURCE GROUP IF NOT EXISTS rg2 RU_PER_SEC = 200 QUERY_LIMIT=(EXEC_ELAPSED='100ms', ACTION=KILL);
Query OK, 0 rows affected (0.08 sec)
SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1' or NAME = 'rg2';
+------+------------+----------+-----------+---------------------------------+ | NAME | RU_PER_SEC | PRIORITY | BURSTABLE | QUERY_LIMIT | +------+------------+----------+-----------+---------------------------------+ | rg1 | 100 | HIGH | YES | NULL | | rg2 | 200 | MEDIUM | NO | EXEC_ELAPSED=100ms, ACTION=KILL | +------+------------+----------+-----------+---------------------------------+ 2 rows in set (1.30 sec)

MySQL 兼容性

MySQL 也支持 CREATE RESOURCE GROUP。但其可接受的参数与 TiDB 不同,因此两者不兼容。

另请参阅

文档内容是否有帮助?