1
1
---
2
- title : distribute table 使用文档
3
- summary : TiDB 中的 distribute table 功能可以解决表中 region 分布不均衡问题。通过重新调整 table 中的 region 的分布,可以让指定 table 下的 region 按照一定的策略进行均衡。重新分配可以指定不同的存储引擎,比如 TIFLASH 和 TIKV。同时也可以指定不同的 raft role,比如 learner,leader,voter 。
2
+ title : DISTRIBUTE TABLE
3
+ summary : 介绍 TiDB 数据库中 DISTRIBUTE TABLE 的使用概况 。
4
4
---
5
5
6
6
# DISTRIBUTE TABLE 使用文档
7
- ` DISTRIBUTE TABLE ` 用于对指定表范围内的 region 进行重新打散调度, 使其按照表纬度进行均衡分布,防止个别 region 集中在少数的 TIFLASH 和 TIKV 。
7
+ ` DISTRIBUTE TABLE ` 语句用于对指定表的 Region 进行重新打散和调度,以实现表维度的均衡分布。执行该语句可以防止个别 Region 集中在少数 TiFlash 或 TiKV 节点上,从而解决表中 Region 分布不均衡的问题 。
8
8
9
9
## 语法图
10
10
@@ -27,10 +27,12 @@ RoleOption ::=
27
27
```
28
28
29
29
## 示例
30
+ 通过 ` DISTRIBUTE TABLE ` 语句重新调度表中的 Region 时,你可以根据需求指定存储引擎(如 TiFlash 或 TiKV)以及不同的 Raft 角色(如 learner、leader、voter) 进行打散均衡操作。
31
+
32
+ 对表 ` t1 ` 在 TiKV 上的 leader 所在的 Region 重新进行均衡调度:
30
33
31
- 对表A 上的 tikv 上的 leader 重新进行均衡调度
32
34
``` sql
33
- CREATE TABLE t1 (a INT );
35
+ CREATE TABLE t1 (a INT );
34
36
...
35
37
DISTRIBUTE TABLE table_name engine tikv role leader
36
38
```
@@ -39,24 +41,46 @@ DISTRIBUTE TABLE table_name engine tikv role leader
39
41
100
40
42
+---------+
41
43
44
+ 对表 ` t2 ` 在 TiFlash 上的 learner 所在的 Region 重新进行均衡调度:
45
+ ``` sql
46
+ CREATE TABLE t2 (a INT );
47
+ ...
48
+ DISTRIBUTE TABLE t2 ENGINE tiflash role learner;
49
+ ```
50
+ +---------+
51
+ | JOB_ID |
52
+ 101
53
+ +---------+
54
+
55
+ 对分区表 ` t5 ` 的 ` p1 ` 和 ` p2 ` 分区在 TiKV 上的 leader 所在的 Region 重新进行均衡调度:
56
+
57
+ ``` sql
58
+ CREATE TABLE t5 (a INT );
59
+ ...
60
+ DISTRIBUTE TABLE t5 PARTITION (p1, p2) ENGINE tikv role leader;
61
+ ```
62
+ +---------+
63
+ | JOB_ID |
64
+ 102
65
+ +---------+
42
66
43
67
44
- 显示当前所有的调度任务
68
+ 显示当前所有的调度任务:
45
69
``` sql
46
70
SHOW DISTRIBUTION JOBS;
47
71
```
48
72
49
73
+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
50
74
| JOB_ID | DB_NAME | TABLE_NAME | PARTITION_NAMES | ENGINE_TYPE | ROLE_TYPE | STATUS | CREATE_USER | CREATE_TIME |
51
75
+---------+------------+------------+-----------------+------------+-----------+--------+---------------+---------------+
52
- | 1 | db_1 | t1 | | TIKV | LEADER | RUNNING | ADMIN | 20240712 |
76
+ | 1 | db_1 | t1 | | TIKV | LEADER | RUNNING | ADMIN | 20240712 |
53
77
| 2 | db_1 | t2 | | TIFLASH | LEARNER | FINISHED | ADMIN | 20240715 |
54
78
| 3 | db_1 | t3 | | TiKV | VOTER | STOPPED | ADMIN | 20240713 |
55
79
| 4 | db_1 | t4 | | TIFLASH | LEARNER | FINISHED | ADMIN | 20240713 |
56
80
+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
57
81
58
82
59
- 显示当前表 t1 的 region 分布情况
83
+ 显示当前表 ` t1 ` 的 region 分布情况:
60
84
``` sql
61
85
SHOW TABLE DISTRIBUTION t1;
62
86
```
0 commit comments