Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sql-infra: document for resource control feature #12655

Merged
merged 120 commits into from
Feb 17, 2023
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
215d994
*: document for resource control feature
BornChanger Jan 12, 2023
9c82cf6
*: minor adjustment
BornChanger Jan 12, 2023
1d92cda
Apply suggestions from code review
hfxsd Jan 13, 2023
1b34d90
Update tidb-resource-control.md
hfxsd Jan 13, 2023
f2bcbe3
Update tidb-resource-control.md
hfxsd Jan 13, 2023
1be205b
fix format issues
hfxsd Jan 13, 2023
d929ad4
*: address comments
BornChanger Jan 13, 2023
6c7a2e6
*: add tikv config
BornChanger Jan 13, 2023
3200a64
*: address comments round 2
BornChanger Jan 13, 2023
b283bbb
polished
hfxsd Jan 17, 2023
bbe2f0d
polished two more docs
hfxsd Jan 17, 2023
c232bca
*: add show create resoruce group command
BornChanger Jan 18, 2023
fd707f3
Update tidb-resource-control.md
hfxsd Jan 19, 2023
6ebbd46
*: adjust some expression
BornChanger Jan 19, 2023
8de92ce
Update tidb-resource-control.md
hfxsd Jan 19, 2023
daa5d45
Merge branch 'resource_control' of https://github.com/BornChanger/doc…
hfxsd Jan 19, 2023
d9618c6
Update tidb-resource-control.md
hfxsd Jan 19, 2023
dc6d4b1
Update tidb-resource-control.md
hfxsd Jan 19, 2023
6506dd3
Update tidb-resource-control.md
hfxsd Jan 19, 2023
4fa1aef
Update sql-statements/sql-statement-show-create-resource-group.md
hfxsd Jan 19, 2023
a284f23
*: fix some typo
BornChanger Jan 19, 2023
6c2eb4a
Update sql-statements/sql-statement-alter-resource-group.md
BornChanger Jan 19, 2023
af3bb25
Update sql-statements/sql-statement-create-resource-group.md
BornChanger Jan 19, 2023
a64a4c8
Update sql-statements/sql-statement-create-resource-group.md
BornChanger Jan 19, 2023
8f96776
Update sql-statements/sql-statement-drop-resource-group.md
BornChanger Jan 19, 2023
447dbff
Update sql-statements/sql-statement-alter-resource-group.md
BornChanger Jan 19, 2023
4a746cd
Update sql-statements/sql-statement-drop-resource-group.md
BornChanger Jan 19, 2023
421b56c
*: fix show resource group command sample
BornChanger Jan 19, 2023
7f14f8a
Update tidb-resource-control.md
hfxsd Jan 19, 2023
8fc294d
Update tidb-resource-control.md
hfxsd Jan 19, 2023
64a4066
Update tidb-resource-control.md
hfxsd Jan 19, 2023
6a0c539
Update sql-statements/sql-statement-alter-resource-group.md
hfxsd Jan 28, 2023
25bd294
Update sql-statements/sql-statement-create-resource-group.md
hfxsd Jan 28, 2023
0c9a494
Apply suggestions from code review
hfxsd Jan 28, 2023
8387e9e
polished wording
hfxsd Jan 28, 2023
e4e5473
*: add privilege and new is table
BornChanger Jan 30, 2023
c770dfd
*: refresh privileges and processlist
BornChanger Jan 30, 2023
6bc7998
Update sql-statements/sql-statement-alter-resource-group.md
BornChanger Jan 31, 2023
9621bf4
Update sql-statements/sql-statement-drop-resource-group.md
BornChanger Jan 31, 2023
99c9cf9
Update tidb-resource-control.md
BornChanger Jan 31, 2023
a16798a
Update tidb-resource-control.md
BornChanger Jan 31, 2023
d1a52b4
Update sql-statements/sql-statement-create-resource-group.md
BornChanger Jan 31, 2023
8d773ca
Apply suggestions from code review
hfxsd Jan 31, 2023
0960715
Update information-schema/information-schema-processlist.md
hfxsd Feb 1, 2023
1e2df20
Apply suggestions from code review
hfxsd Feb 1, 2023
ba6d15b
Update information-schema-resource-groups.md
hfxsd Feb 1, 2023
5658475
Update information-schema/information-schema-processlist.md
hfxsd Feb 1, 2023
e7b62cd
Update TOC.md
hfxsd Feb 1, 2023
1e92cc1
Merge branch 'resource_control' of https://github.com/BornChanger/doc…
hfxsd Feb 1, 2023
499cbd6
Merge remote-tracking branch 'upstream/master' into pr/12655
hfxsd Feb 1, 2023
f4adffa
Update privilege-management.md
hfxsd Feb 1, 2023
3687905
Update sql-statement-show-create-resource-group.md
hfxsd Feb 1, 2023
0ef0a49
Apply suggestions from code review
hfxsd Feb 1, 2023
b005c0a
Update tidb-resource-control.md
hfxsd Feb 2, 2023
70691d1
Update sql-statements/sql-statement-show-create-resource-group.md
hfxsd Feb 2, 2023
2a1a9fc
Update tidb-resource-control.md
hfxsd Feb 2, 2023
e05eae1
Merge branch 'resource_control' of https://github.com/BornChanger/doc…
hfxsd Feb 2, 2023
292e4d3
Update tidb-RU.md
hfxsd Feb 2, 2023
9534d6c
Apply suggestions from code review
hfxsd Feb 2, 2023
bc6bdb0
Update information-schema/information-schema-processlist.md
BornChanger Feb 2, 2023
9a3dcdb
Apply suggestions from code review
hfxsd Feb 2, 2023
d486943
Update the Resource Control Dashboard introduction
JmPotato Feb 3, 2023
3778dfa
Merge remote-tracking branch 'upstream/master' into pr/12655
hfxsd Feb 3, 2023
70e5589
Merge branch 'resource_control' of https://github.com/BornChanger/doc…
hfxsd Feb 3, 2023
a8c83b1
polished resource control dashboard
hfxsd Feb 3, 2023
078e816
Update grafana-resource-control-dashboard.md
hfxsd Feb 3, 2023
cb7da50
Apply suggestions from code review
hfxsd Feb 3, 2023
b018c2e
*: address comments
BornChanger Feb 1, 2023
b078d2b
Merge remote-tracking branch 'upstream/master' into pr/12655
hfxsd Feb 3, 2023
d3f7145
Update tidb-resource-control.md
hfxsd Feb 3, 2023
3da56cc
polished brian's latest updates
hfxsd Feb 3, 2023
235c41d
Update grafana-resource-control-dashboard.md
BornChanger Feb 3, 2023
b9252aa
Update grafana-resource-control-dashboard.md
BornChanger Feb 3, 2023
d72b195
updated links
hfxsd Feb 6, 2023
6817296
Apply suggestions from code review
hfxsd Feb 6, 2023
fe49769
Update tidb-resource-control.md
hfxsd Feb 6, 2023
e758150
Merge branch 'resource_control' of https://github.com/BornChanger/doc…
hfxsd Feb 6, 2023
e0cc66b
Update tidb-resource-control.md
hfxsd Feb 6, 2023
7ad85c7
Apply suggestions from code review
hfxsd Feb 6, 2023
c216e4b
*: address comments
BornChanger Feb 6, 2023
1a67cee
Update information-schema/information-schema-resource-groups.md
hfxsd Feb 6, 2023
28f963e
refined newly added content
hfxsd Feb 6, 2023
24cc536
*: adjust the fomula
BornChanger Feb 7, 2023
d67b87c
Update tidb-resource-control.md
hfxsd Feb 7, 2023
5eac928
polished some wording
hfxsd Feb 7, 2023
e705852
Update grafana-resource-control-dashboard.md
hfxsd Feb 7, 2023
73f965e
Update grafana-resource-control-dashboard.md
hfxsd Feb 7, 2023
8e4b0b3
Update sql-statements/sql-statement-show-privileges.md
hfxsd Feb 7, 2023
6f36716
Update tikv-configuration-file.md
BornChanger Feb 7, 2023
c29731d
Apply suggestions from code review
hfxsd Feb 7, 2023
7c39888
*: address some comments
BornChanger Feb 7, 2023
0cc21da
*: adjust RU fomula
BornChanger Feb 7, 2023
abb80be
*: adjust resource_groups table
BornChanger Feb 7, 2023
94f586d
Update sql-statements/sql-statement-alter-resource-group.md
BornChanger Feb 7, 2023
bc48680
Update sql-statements/sql-statement-create-resource-group.md
BornChanger Feb 7, 2023
1965af0
Update sql-statements/sql-statement-drop-resource-group.md
BornChanger Feb 7, 2023
f07cca8
Update mysql-compatibility.md
hfxsd Feb 8, 2023
d48be21
Update mysql-compatibility.md
hfxsd Feb 8, 2023
7ec95e5
*: remove RU_TOKENS
BornChanger Feb 8, 2023
0d1c77c
*: refine some wording
BornChanger Feb 8, 2023
a7c6c80
Update sql-statements/sql-statement-show-create-resource-group.md
BornChanger Feb 8, 2023
a3ab88f
Update tidb-resource-control.md
BornChanger Feb 8, 2023
585141c
mention tikv grpc resource group metrics
Connor1996 Feb 8, 2023
68b0b58
*: address comments
BornChanger Feb 9, 2023
679791e
Update tidb-resource-control.md
hfxsd Feb 9, 2023
f310b3b
Update tidb-resource-control.md
hfxsd Feb 12, 2023
3847c3a
Apply suggestions from code review
hfxsd Feb 12, 2023
0ef8923
Update tidb-resource-control.md
hfxsd Feb 15, 2023
18f39ea
Merge branch 'resource_control' of https://github.com/BornChanger/doc…
hfxsd Feb 15, 2023
ff16ad9
Update tidb-resource-control.md
hfxsd Feb 16, 2023
e82eaca
Update tidb-resource-control.md
hfxsd Feb 16, 2023
1fc74c6
Update information-schema/information-schema-resource-groups.md
BornChanger Feb 16, 2023
78e7d00
Update sql-statements/sql-statement-alter-resource-group.md
BornChanger Feb 16, 2023
258597b
Update sql-statements/sql-statement-alter-resource-group.md
BornChanger Feb 16, 2023
b66d8f5
Apply suggestions from code review
hfxsd Feb 17, 2023
5b18731
Apply suggestions from code review
hfxsd Feb 17, 2023
0015425
Update grafana-tikv-dashboard.md
hfxsd Feb 17, 2023
7e42d73
Update grafana-resource-control-dashboard.md
hfxsd Feb 17, 2023
540b7e4
Merge remote-tracking branch 'upstream/master' into pr/12655
hfxsd Feb 17, 2023
0a15cc1
Update tidb-resource-control.md
hfxsd Feb 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions sql-statements/sql-statement-alter-resource-group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
title: Alter Resource Group
summary: TiDB 数据库中 ALTER Resource Group 的使用概况
aliases: ['/docs-cn/dev/sql-statements/sql-statement-alter-resource-group/','/docs-cn/dev/reference/sql/statements/alter-resource-group/']
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
---

# ALTER RESOURCE GROUP

`ALTER RESOURCE GROUP` 语句用于在当前所选数据库中修改资源组。

## 语法图

```ebnf+diagram
AlterResourceGroupStmt:
"ALTER" "RESOURCE" "GROUP" IfNotExists ResourceGroupName ResourceGroupOptionList BurstableOption
BornChanger marked this conversation as resolved.
Show resolved Hide resolved

IfNotExists ::=
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
('IF' 'NOT' 'EXISTS')?

ResourceGroupName:
Identifier

ResourceGroupOptionList:
DirectResourceGroupOption
| ResourceGroupOptionList DirectResourceGroupOption
| ResourceGroupOptionList ',' DirectResourceGroupOption

DirectResourceGroupOption:
"RRU_PER_SEC" EqOpt stringLit
| "WRU_PER_SEC" EqOpt stringLit
BornChanger marked this conversation as resolved.
Show resolved Hide resolved

BurstableOption ::=
("BURSTABLE")?

```

TiDB 支持以下 `DirectResourceGroupOption`, 其中 [`RU` (Resource Unit)](/tidb-RU.md) 是 TiDB 对 CPU, IO 等系统资源的统一抽象的单位。

| 参数 |含义 |举例 |
|----------------|--------------------------------------|----------------------------|

hfxsd marked this conversation as resolved.
Show resolved Hide resolved
|`RRU_PER_SEC`|每秒钟读 RU 的配额 |`RRU_PER_SEC` = 500|

|`WRU_PER_SEC`|每秒钟写 RU 的配额 |`RRU_PER_SEC` = 300|

如果设置了`BURSTABLE`属性,对应的资源组就允许在系统资源充足的情况下,允许超出配额使用系统资源。

> **注意:**
> `ALTER RESOURCE GROUP` 语句只能在全局变量 `tidb_enable_resource_group` 参数设置为 `ON` 的时候才被允许执行

## 示例

创建一个名字是 rg1 的资源组, 并修改它的属性

```sql
mysql> DROP RESOURCE GROUP IF EXISTS rg1;
Query OK, 0 rows affected (0.22 sec)
mysql> CREATE RESOURCE GROUP IF NOT EXISTS rg1 (
-> RRU_PER_SEC = 500
-> RRU_PER_SEC = 300
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
-> BURSTABLE
-> );
Query OK, 0 rows affected (0.08 sec)
mysql> SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+--------------+---------------------------------------------------------------+
| Name | Plan_type | Directive |
+------+--------------+---------------------------------------------------------------+
| rg1 | tenancy | {"RRU_PER_SEC": 500, "WRU_PER_SEC": 300, "BURSTABLE": true} |
+------+--------------+---------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> ALTER RESOURCE GROUP IF NOT EXISTS rg1 (
-> RRU_PER_SEC = 600
-> RRU_PER_SEC = 400
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
-> );
Query OK, 0 rows affected (0.09 sec)
mysql> SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+--------------+---------------------------------------------------------------+
| Name | Plan_type | Directive |
+------+--------------+---------------------------------------------------------------+
| rg1 | tenancy | {"RRU_PER_SEC": 600, "WRU_PER_SEC": 400, "BURSTABLE": false} |
+------+--------------+---------------------------------------------------------------+
1 row in set (0.00 sec)
```

## MySQL 兼容性

* MySQL 也支持[Alter Resource Group](https://dev.mysql.com/doc/refman/8.0/en/alter-resource-group.html) ,但是接受的参数和 TiDB 不同,两者并不兼容。

## 另请参阅

* [DROP RESOURCE GROUP](/sql-statements/sql-statement-drop-resource-group.md)
* [CREATE RESOURCE GROUP](/sql-statements/sql-statement-alter-resource-group.md)
* [RU](/tidb-RU.md)
14 changes: 13 additions & 1 deletion sql-statements/sql-statement-alter-user.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-alter-user/','/docs-cn/dev/

```ebnf+diagram
AlterUserStmt ::=
'ALTER' 'USER' IfExists (UserSpecList RequireClauseOpt ConnectionOptions PasswordOption LockOption AttributeOption | 'USER' '(' ')' 'IDENTIFIED' 'BY' AuthString)
'ALTER' 'USER' IfExists (UserSpecList RequireClauseOpt ConnectionOptions PasswordOption LockOption AttributeOption | 'USER' '(' ')' 'IDENTIFIED' 'BY' AuthString) ResourceGroupNameOption

UserSpecList ::=
UserSpec ( ',' UserSpec )*
Expand All @@ -31,6 +31,8 @@ PasswordOption ::= ( 'PASSWORD' 'EXPIRE' ( 'DEFAULT' | 'NEVER' | 'INTERVAL' N 'D
LockOption ::= ( 'ACCOUNT' 'LOCK' | 'ACCOUNT' 'UNLOCK' )?

AttributeOption ::= ( 'COMMENT' CommentString | 'ATTRIBUTE' AttributeString )?

ResourceGroupNameOption::= ( 'RESOURCE' 'GROUP' Identifier)?
```

## 示例
Expand Down Expand Up @@ -163,6 +165,16 @@ ALTER USER 'newuser' PASSWORD REUSE INTERVAL 90 DAY;
Query OK, 0 rows affected (0.02 sec)
```

通过 `ALTER USER ... RESOURCE GROUP` 修改用户 `newuser` 的资源组到 `rg1`:

```sql
ALTER USER 'newuser' RESOURCE GROUP rg1;
```

```
Query OK, 0 rows affected (0.02 sec)
```

## 另请参阅

* [Security Compatibility with MySQL](/security-compatibility-with-mysql.md)
Expand Down
84 changes: 84 additions & 0 deletions sql-statements/sql-statement-create-resource-group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Create Resource Group
summary: TiDB 数据库中 CREATE Resource Group 的使用概况
aliases: ['/docs-cn/dev/sql-statements/sql-statement-create-resource-group/','/docs-cn/dev/reference/sql/statements/create-resource-group/']
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
---

# CREATE RESOURCE GROUP

`CREATE RESOURCE GROUP` 语句用于在当前所选数据库中创建资源组。

## 语法图

```ebnf+diagram
CreateResourceGroupStmt:
"CREATE" "RESOURCE" "GROUP" IfNotExists ResourceGroupName ResourceGroupOptionList BurstableOption

IfNotExists ::=
('IF' 'NOT' 'EXISTS')?

ResourceGroupName:
Identifier

ResourceGroupOptionList:
DirectResourceGroupOption
| ResourceGroupOptionList DirectResourceGroupOption
| ResourceGroupOptionList ',' DirectResourceGroupOption

DirectResourceGroupOption:
"RRU_PER_SEC" EqOpt stringLit
| "WRU_PER_SEC" EqOpt stringLit

BurstableOption ::=
("BURSTABLE")?

```

资源组的 `ResourceGroupName` 是全局唯一的,不允许重复。
BornChanger marked this conversation as resolved.
Show resolved Hide resolved

TiDB 支持以下 `DirectResourceGroupOption`, 其中 [`RU` (Resource Unit)](/tidb-RU.md) 是 TiDB 对 CPU, IO 等系统资源的统一抽象的单位。

| 参数 |含义 |举例 |
|----------------|--------------------------------------|----------------------------|

|`RRU_PER_SEC`|每秒钟读 RU 的配额 |`RRU_PER_SEC` = 500|

hfxsd marked this conversation as resolved.
Show resolved Hide resolved
|`WRU_PER_SEC`|每秒钟写 RU 的配额 |`RRU_PER_SEC` = 300|

如果设置了`BURSTABLE`属性,对应的资源组就允许在系统资源充足的情况下,可以超出配额占用使用系统资源。

> **注意:**
>
> `CREATE RESOURCE GROUP` 语句只能在全局变量 `tidb_enable_resource_group` 参数设置为 `ON` 的时候才被允许执行

## 示例

创建一个名字是 rg1 的资源组
hfxsd marked this conversation as resolved.
Show resolved Hide resolved

```sql
mysql> DROP RESOURCE GROUP IF EXISTS rg1;
Query OK, 0 rows affected (0.22 sec)
mysql> CREATE RESOURCE GROUP IF NOT EXISTS rg1 (
-> RRU_PER_SEC = 500
-> RRU_PER_SEC = 300
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
-> BURSTABLE
-> );
Query OK, 0 rows affected (0.08 sec)
mysql> SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+--------------+---------------------------------------------------------------+
| Name | Plan_type | Directive |
+------+--------------+---------------------------------------------------------------+
| rg1 | tenancy | {"RRU_PER_SEC": 5000, "WRU_PER_SEC": 1000, "BURSTABLE": true} |
hfxsd marked this conversation as resolved.
Show resolved Hide resolved
+------+--------------+---------------------------------------------------------------+
1 row in set (0.00 sec)
```

## MySQL 兼容性

* MySQL 也支持[Create Resource Group](https://dev.mysql.com/doc/refman/8.0/en/create-resource-group.html) ,但是接受的参数和 TiDB 不同,两者并不兼容。

## 另请参阅

* [DROP RESOURCE GROUP](/sql-statements/sql-statement-drop-resource-group.md)
* [ALTER RESOURCE GROUP](/sql-statements/sql-statement-alter-resource-group.md)
* [RU](/tidb-RU.md)
20 changes: 19 additions & 1 deletion sql-statements/sql-statement-create-user.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-create-user/','/docs-cn/dev

```ebnf+diagram
CreateUserStmt ::=
'CREATE' 'USER' IfNotExists UserSpecList RequireClauseOpt ConnectionOptions PasswordOption LockOption AttributeOption
'CREATE' 'USER' IfNotExists UserSpecList RequireClauseOpt ConnectionOptions PasswordOption LockOption AttributeOption ResourceGroupNameOption

IfNotExists ::=
('IF' 'NOT' 'EXISTS')?
Expand All @@ -35,6 +35,8 @@ PasswordOption ::= ( 'PASSWORD' 'EXPIRE' ( 'DEFAULT' | 'NEVER' | 'INTERVAL' N 'D
LockOption ::= ( 'ACCOUNT' 'LOCK' | 'ACCOUNT' 'UNLOCK' )?

AttributeOption ::= ( 'COMMENT' CommentString | 'ATTRIBUTE' AttributeString )?

ResourceGroupNameOption::= ( 'RESOURCE' 'GROUP' Identifier)?
```

## 示例
Expand Down Expand Up @@ -151,6 +153,22 @@ CREATE USER 'newuser9'@'%' PASSWORD EXPIRE;
Query OK, 1 row affected (0.02 sec)
```

创建一个使用资源组 (`rg1`) 的用户。
hfxsd marked this conversation as resolved.
Show resolved Hide resolved

```sql
CREATE USER 'newuser7'@'%' RESOURCE GROUP rg1;
SELECT * FROM information_schema.user_attributes;
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
```

```sql
+-----------+------+---------------------------------------------------+
| USER | HOST | ATTRIBUTE |
hfxsd marked this conversation as resolved.
Show resolved Hide resolved
+-----------+------+---------------------------------------------------+
| newuser7 | % | {"resource_group": "rg1"} |
+-----------+------+---------------------------------------------------+
1 rows in set (0.00 sec)
```

## MySQL 兼容性

* TiDB 不支持 `WITH MAX_QUERIES_PER_HOUR`、`WITH MAX_UPDATES_PER_HOUR`、`WITH MAX_USER_CONNECTIONS` 等 `CREATE` 选项。
Expand Down
69 changes: 69 additions & 0 deletions sql-statements/sql-statement-drop-resource-group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: Drop Resource Group
summary: TiDB 数据库中 DROP Resource Group 的使用概况
aliases: ['/docs-cn/dev/sql-statements/sql-statement-drop-resource-group/','/docs-cn/dev/reference/sql/statements/drop-resource-group/']
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
---

# DROP RESOURCE GROUP

`DROP RESOURCE GROUP` 语句用于在当前所选数据库中删除资源组。

## 语法图

```ebnf+diagram
DropResourceGroupStmt:
"DROP" "RESOURCE" "GROUP" IfNotExists ResourceGroupName

IfNotExists ::=
('IF' 'NOT' 'EXISTS')?

ResourceGroupName:
Identifier
```

> **注意:**
hfxsd marked this conversation as resolved.
Show resolved Hide resolved
>
> `DROP RESOURCE GROUP` 语句只能在全局变量 `tidb_enable_resource_group` 参数设置为 `ON` 的时候才被允许执行

## 示例

删除名字是 rg1 的资源组

{{< copyable "sql" >}}

```sql
mysql> DROP RESOURCE GROUP IF EXISTS rg1;
Query OK, 0 rows affected (0.22 sec)
mysql> CREATE RESOURCE GROUP IF NOT EXISTS rg1 (
-> RRU_PER_SEC = 500
-> RRU_PER_SEC = 300
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
-> BURSTABLE
-> );
Query OK, 0 rows affected (0.08 sec)
mysql> SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+--------------+---------------------------------------------------------------+
| Name | Plan_type | Directive |
+------+--------------+---------------------------------------------------------------+
| rg1 | tenancy | {"RRU_PER_SEC": 500, "WRU_PER_SEC": 300, "BURSTABLE": true} |
+------+--------------+---------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> DROP RESOURCE GROUP IF NOT EXISTS rg1 ;
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
Query OK, 1 rows affected (0.09 sec)
mysql> SELECT * FROM information_schema.resource_groups WHERE NAME ='rg1';
+------+--------------+---------------------------------------------------------------+
| Name | Plan_type | Directive |
+------+--------------+---------------------------------------------------------------+
+------+--------------+---------------------------------------------------------------+
0 row in set (0.00 sec)
```

## MySQL 兼容性

* MySQL 也支持[Drop Resource Group](https://dev.mysql.com/doc/refman/8.0/en/drop-resource-group.html), 但 TiDB 不支持 `FORCE` 参数。

## 另请参阅

* [ALTER RESOURCE GROUP](/sql-statements/sql-statement-alter-resource-group.md)
* [CREATE RESOURCE GROUP](/sql-statements/sql-statement-create-resource-group.md)
* [RU](/tidb-RU.md)
12 changes: 12 additions & 0 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -3690,3 +3690,15 @@ Query OK, 0 rows affected, 1 warning (0.00 sec)
- 是否持久化到集群:是
- 默认值:`ON`
- 这个变量用于控制计算窗口函数时是否采用高精度模式。

### `tidb_enable_resource_control` <span class="version-mark">从 v6.6.0 版本开始引入</span>

> **警告:**
>
> [Resource Control](/tidb-resource-control.md) 目前为实验性特性,此变量定义可能在之后发生变化或者删除。

- 作用域:GLOBAL
- 是否持久化到集群:是
- 默认值:`OFF`
- 类型:布尔型
- 该变量是资源管控特性的开关。该变量设置为 `ON` 后,集群支持应用按照资源组做资源隔离。
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
7 changes: 7 additions & 0 deletions tidb-RU.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: TiDB Resource Unit
summary: TiDB 数据库中 RU 的概念
aliases: ['/docs-cn/dev/tidb-RU/','/docs-cn/dev/reference/tidb-RU/']
hfxsd marked this conversation as resolved.
Show resolved Hide resolved
---
BornChanger marked this conversation as resolved.
Show resolved Hide resolved
`RU` (Resource Unit) 是 TiDB 对 CPU, IO 等系统资源的统一抽象的单位, 目前包括 CPU, IOPS 和 IO带宽三个指标,这三个指标的消耗会按照一定的比例统一到 `RU` 单位上。
一个 `RU` 代表的是一次 64 bytes 点查请求的资源消耗。
Loading