11---
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 的使用概况 。
44---
55
66# DISTRIBUTE TABLE 使用文档
7- ` DISTRIBUTE TABLE ` 用于对指定表范围内的 region 进行重新打散调度, 使其按照表纬度进行均衡分布,防止个别 region 集中在少数的 TIFLASH 和 TIKV 。
7+ ` DISTRIBUTE TABLE ` 语句用于对指定表的 Region 进行重新打散和调度,以实现表维度的均衡分布。执行该语句可以防止个别 Region 集中在少数 TiFlash 或 TiKV 节点上,从而解决表中 Region 分布不均衡的问题 。
88
99## 语法图
1010
@@ -27,10 +27,12 @@ RoleOption ::=
2727```
2828
2929## 示例
30+ 通过 ` DISTRIBUTE TABLE ` 语句重新调度表中的 Region 时,你可以根据需求指定存储引擎(如 TiFlash 或 TiKV)以及不同的 Raft 角色(如 learner、leader、voter) 进行打散均衡操作。
31+
32+ 对表 ` t1 ` 在 TiKV 上的 leader 所在的 Region 重新进行均衡调度:
3033
31- 对表A 上的 tikv 上的 leader 重新进行均衡调度
3234``` sql
33- CREATE TABLE t1 (a INT );
35+ CREATE TABLE t1 (a INT );
3436...
3537DISTRIBUTE TABLE table_name engine tikv role leader
3638```
@@ -39,24 +41,46 @@ DISTRIBUTE TABLE table_name engine tikv role leader
3941100
4042+---------+
4143
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+ +---------+
4266
4367
44- 显示当前所有的调度任务
68+ 显示当前所有的调度任务:
4569``` sql
4670SHOW DISTRIBUTION JOBS;
4771```
4872
4973+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
5074| JOB_ID | DB_NAME | TABLE_NAME | PARTITION_NAMES | ENGINE_TYPE | ROLE_TYPE | STATUS | CREATE_USER | CREATE_TIME |
5175+---------+------------+------------+-----------------+------------+-----------+--------+---------------+---------------+
52- | 1 | db_1 | t1 | | TIKV | LEADER | RUNNING | ADMIN | 20240712 |
76+ | 1 | db_1 | t1 | | TIKV | LEADER | RUNNING | ADMIN | 20240712 |
5377| 2 | db_1 | t2 | | TIFLASH | LEARNER | FINISHED | ADMIN | 20240715 |
5478| 3 | db_1 | t3 | | TiKV | VOTER | STOPPED | ADMIN | 20240713 |
5579| 4 | db_1 | t4 | | TIFLASH | LEARNER | FINISHED | ADMIN | 20240713 |
5680+---------+------------+------------+-----------------+------------+-----------+----------+-------------+---------------+
5781
5882
59- 显示当前表 t1 的 region 分布情况
83+ 显示当前表 ` t1 ` 的 region 分布情况:
6084``` sql
6185SHOW TABLE DISTRIBUTION t1;
6286```
0 commit comments