Skip to content

Commit e80d334

Browse files
committed
add toc changes and anther two sql docs
1 parent c0b9415 commit e80d334

File tree

4 files changed

+125
-15
lines changed

4 files changed

+125
-15
lines changed

TOC.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,6 +788,7 @@
788788
- [`DELETE`](/sql-statements/sql-statement-delete.md)
789789
- [`DESC`](/sql-statements/sql-statement-desc.md)
790790
- [`DESCRIBE`](/sql-statements/sql-statement-describe.md)
791+
- [`DISTRIBUTE TABLE`](/sql-statements/sql_statement-distribute-table.md)
791792
- [`DO`](/sql-statements/sql-statement-do.md)
792793
- [`DROP BINDING`](/sql-statements/sql-statement-drop-binding.md)
793794
- [`DROP DATABASE`](/sql-statements/sql-statement-drop-database.md)
@@ -852,6 +853,7 @@
852853
- [`SHOW CREATE DATABASE`](/sql-statements/sql-statement-show-create-database.md)
853854
- [`SHOW CREATE USER`](/sql-statements/sql-statement-show-create-user.md)
854855
- [`SHOW DATABASES`](/sql-statements/sql-statement-show-databases.md)
856+
- [`SHOW DISTRIBUTION JOBS`](/sql-statements/sql-statement-show-distribution-jobs.md)
855857
- [`SHOW ENGINES`](/sql-statements/sql-statement-show-engines.md)
856858
- [`SHOW ERRORS`](/sql-statements/sql-statement-show-errors.md)
857859
- [`SHOW FIELDS FROM`](/sql-statements/sql-statement-show-fields-from.md)
@@ -874,6 +876,7 @@
874876
- [`SHOW STATS_META`](/sql-statements/sql-statement-show-stats-meta.md)
875877
- [`SHOW STATS_TOPN`](/sql-statements/sql-statement-show-stats-topn.md)
876878
- [`SHOW STATUS`](/sql-statements/sql-statement-show-status.md)
879+
- [`SHOW TABLE DISTRIBUTION`](/sql-statements/sql_statement-show-table-distribution.md)
877880
- [`SHOW TABLE NEXT_ROW_ID`](/sql-statements/sql-statement-show-table-next-rowid.md)
878881
- [`SHOW TABLE REGIONS`](/sql-statements/sql-statement-show-table-regions.md)
879882
- [`SHOW TABLE STATUS`](/sql-statements/sql-statement-show-table-status.md)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: SHOW DISTRIBUTION JOBS
3+
summary: 介绍 TiDB 数据库中 SHOW DISTRIBUTION JOBS 的使用概况。
4+
---
5+
6+
# SHOW DISTRIBUTION JOBS
7+
8+
`SHOW DISTRIBUTION JOBS` 语句用于显示当前所有的 Region 调度任务。
9+
10+
## 语法图
11+
12+
```ebnf+diagram
13+
ShowDistributionJobsStmt ::=
14+
"SHOW" "DISTRIBUTION" "JOBS"
15+
```
16+
17+
## 示例
18+
19+
显示当前所有的 Region 调度任务:
20+
21+
```sql
22+
SHOW DISTRIBUTION JOBS;
23+
```
24+
25+
```
26+
+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
27+
| JOB_ID | DB_NAME | TABLE_NAME | PARTITION_NAMES | ENGINE_TYPE | ROLE_TYPE | STATUS | CREATE_USER | CREATE_TIME |
28+
+---------+------------+------------+-----------------+------------+-----------+--------+---------------+---------------+
29+
| 1 | db_1 | t1 | | TIKV | LEADER | RUNNING | ADMIN | 20240712 |
30+
| 2 | db_1 | t2 | | TIFLASH | LEARNER | FINISHED | ADMIN | 20240715 |
31+
| 3 | db_1 | t3 | | TiKV | VOTER | STOPPED | ADMIN | 20240713 |
32+
| 4 | db_1 | t4 | | TIFLASH | LEARNER | FINISHED | ADMIN | 20240713 |
33+
+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
34+
```
35+
36+
## MySQL 兼容性
37+
38+
该语句是 TiDB 对 MySQL 语法的扩展。
39+
40+
## 另请参阅
41+
42+
- [`DISTRIBUTE TABLE`](/sql-statements/sql_statement-distribute-table.md)
43+
- [`SHOW TABLE DISTRIBUTION`](/sql-statements/sql_statement-show-table-distribution.md)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: SHOW TABLE DISTRIBUTION
3+
summary: 介绍 TiDB 数据库中 SHOW TABLE DISTRIBUTION 的使用概况。
4+
---
5+
6+
# SHOW TABLE DISTRIBUTION
7+
8+
`SHOW TABLE DISTRIBUTION` 语句用于显示指定表的 Region 分布情况。
9+
10+
## 语法图
11+
12+
```ebnf+diagram
13+
ShowTableDistributionStmt ::=
14+
"SHOW" "TABLE" "DISTRIBUTION" TableName
15+
16+
TableName ::=
17+
(SchemaName ".")? Identifier
18+
```
19+
20+
## 示例
21+
22+
显示当前表 `t1` 的 Region 分布情况:
23+
24+
```sql
25+
SHOW TABLE DISTRIBUTION t1;
26+
```
27+
28+
```
29+
+---------+------------+----------------+----------+------------+-------------------+--------------------+-----------------+------------------+
30+
| DB_NAME | TABLE_NAME | PARTITION_NAME | STORE_ID | STORE_TYPE | REGION_LEADER_NUM | REGION_LEADER_BYTE | REGION_PEER_NUM | REGION_PEER_BYTE |
31+
+---------+------------+----------------+----------+------------+-------------------+--------------------+-----------------+------------------+
32+
| db_1 | t1 | | 1 | TiKV | 315 | 24057934521 | 1087 | 86938746542 |
33+
| db_1 | t1 | | 2 | TiKV | 324 | 28204839240 | 1104 | 91039476832 |
34+
| db_1 | t1 | | 3 | TiKV | 319 | 25986274812 | 1091 | 89405367423 |
35+
| db_1 | t1 | | 4 | TiKV | 503 | 41039587625 | 1101 | 90482317797 |
36+
+---------+------------+----------------+----------+------------+-------------------+--------------------+-----------------+------------------+
37+
```
38+
39+
## MySQL 兼容性
40+
41+
该语句是 TiDB 对 MySQL 语法的扩展。
42+
43+
## 另请参阅
44+
45+
- [`DISTRIBUTE TABLE`](/sql-statements/sql_statement-distribute-table.md)
46+
- [`SHOW DISTRIBUTION JOBS`](/sql-statements/sql-statement-show-distribution-jobs.md)

sql-statements/sql_statement_distribute_table.md

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ title: DISTRIBUTE TABLE
33
summary: 介绍 TiDB 数据库中 DISTRIBUTE TABLE 的使用概况。
44
---
55

6-
# DISTRIBUTE TABLE 使用文档
6+
# DISTRIBUTE TABLE
7+
78
`DISTRIBUTE TABLE` 语句用于对指定表的 Region 进行重新打散和调度,以实现表维度的均衡分布。执行该语句可以防止个别 Region 集中在少数 TiFlash 或 TiKV 节点上,从而解决表中 Region 分布不均衡的问题。
89

910
## 语法图
@@ -23,53 +24,64 @@ EngineOption ::=
2324
2425
RoleOption ::=
2526
"Role" Expression
26-
2727
```
2828

2929
## 示例
30-
通过 `DISTRIBUTE TABLE` 语句重新调度表中的 Region 时,你可以根据需求指定存储引擎(如 TiFlash 或 TiKV)以及不同的 Raft 角色(如 learner、leader、voter) 进行打散均衡操作。
3130

32-
对表 `t1` 在 TiKV 上的 leader 所在的 Region 重新进行均衡调度:
31+
通过 `DISTRIBUTE TABLE` 语句重新调度表中的 Region 时,你可以根据需求指定存储引擎(如 TiFlash 或 TiKV)以及不同的 Raft 角色(如 Leader、Learner、Voter)进行均衡打散操作。
32+
33+
对表 `t1` 在 TiKV 上的 Leader 所在的 Region 重新进行均衡调度:
3334

3435
```sql
3536
CREATE TABLE t1 (a INT);
3637
...
37-
DISTRIBUTE TABLE table_name engine tikv role leader
38+
DISTRIBUTE TABLE t1 engine tikv role leader
39+
```
40+
3841
```
3942
+---------+
40-
| JOB_ID |
43+
| JOB_ID |
4144
100
4245
+---------+
46+
```
47+
48+
对表 `t2` 在 TiFlash 上的 Learner 所在的 Region 重新进行均衡调度:
4349

44-
对表 `t2` 在 TiFlash 上的 learner 所在的 Region 重新进行均衡调度:
4550
```sql
4651
CREATE TABLE t2 (a INT);
4752
...
4853
DISTRIBUTE TABLE t2 ENGINE tiflash role learner;
54+
```
55+
4956
```
5057
+---------+
51-
| JOB_ID |
58+
| JOB_ID |
5259
101
5360
+---------+
61+
```
5462

55-
对分区表 `t5``p1``p2` 分区在 TiKV 上的 leader 所在的 Region 重新进行均衡调度:
63+
对分区表 `t3``p1``p2` 分区在 TiKV 上的 Leader 所在的 Region 重新进行均衡调度:
5664

5765
```sql
58-
CREATE TABLE t5 (a INT);
66+
CREATE TABLE t3 (a INT);
5967
...
60-
DISTRIBUTE TABLE t5 PARTITION (p1, p2) ENGINE tikv role leader;
68+
DISTRIBUTE TABLE t3 PARTITION (p1, p2) ENGINE tikv role leader;
69+
```
70+
6171
```
6272
+---------+
63-
| JOB_ID |
73+
| JOB_ID |
6474
102
6575
+---------+
76+
```
6677

78+
执行 [`SHOW DISTRIBUTION JOBS`](/sql-statements/sql-statement-show-distribution-jobs.md) 语句查看当前所有的调度任务:
6779

68-
显示当前所有的调度任务:
6980
```sql
7081
SHOW DISTRIBUTION JOBS;
7182
```
7283

84+
```
7385
+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
7486
| JOB_ID | DB_NAME | TABLE_NAME | PARTITION_NAMES | ENGINE_TYPE | ROLE_TYPE | STATUS | CREATE_USER | CREATE_TIME |
7587
+---------+------------+------------+-----------------+------------+-----------+--------+---------------+---------------+
@@ -78,13 +90,15 @@ SHOW DISTRIBUTION JOBS;
7890
| 3 | db_1 | t3 | | TiKV | VOTER | STOPPED | ADMIN | 20240713 |
7991
| 4 | db_1 | t4 | | TIFLASH | LEARNER | FINISHED | ADMIN | 20240713 |
8092
+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
93+
```
8194

95+
执行 [`SHOW TABLE DISTRIBUTION`](/sql-statements/sql_statement-show-table-distribution.md) 语句查看表 `t1` 的 Region 分布情况:
8296

83-
显示当前表 `t1` 的 region 分布情况:
8497
```sql
8598
SHOW TABLE DISTRIBUTION t1;
8699
```
87100

101+
```
88102
+---------+------------+----------------+----------+------------+-------------------+--------------------+-----------------+------------------+
89103
| DB_NAME | TABLE_NAME | PARTITION_NAME | STORE_ID | STORE_TYPE | REGION_LEADER_NUM | REGION_LEADER_BYTE | REGION_PEER_NUM | REGION_PEER_BYTE |
90104
+---------+------------+----------------+----------+------------+-------------------+--------------------+-----------------+------------------+
@@ -93,13 +107,17 @@ SHOW TABLE DISTRIBUTION t1;
93107
| db_1 | t1 | | 3 | TiKV | 319 | 25986274812 | 1091 | 89405367423 |
94108
| db_1 | t1 | | 4 | TiKV | 503 | 41039587625 | 1101 | 90482317797 |
95109
+---------+------------+----------------+----------+------------+-------------------+--------------------+-----------------+------------------+
96-
110+
```
97111

98112
## 注意事项
99113

100114
`DISTRIBUTE TABLE` 语句在重新调度表中的 Region 时,可能会受到 PD 热点调度器的影响。调度完成后,随着时间推移,表的 Region 分布可能再次失衡。
101115

102116
## MySQL 兼容性
117+
103118
该语句是 TiDB 对 MySQL 语法的扩展。
104119

105120
## 另请参阅
121+
122+
- [`SHOW TABLE DISTRIBUTION`](/sql-statements/sql_statement-show-table-distribution.md)
123+
- [`SHOW TABLE REGIONS`](/sql-statements/sql-statement-show-table-regions.md)

0 commit comments

Comments
 (0)