From 4e7c53b93a9215495cc97be2933090bf76692f56 Mon Sep 17 00:00:00 2001 From: Xiaozhen Liu Date: Wed, 11 Aug 2021 10:13:23 +0800 Subject: [PATCH 1/3] partitioning: Corrected partition management --- partitioned-table.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/partitioned-table.md b/partitioned-table.md index 17bed4122c73..01d10b20e7be 100644 --- a/partitioned-table.md +++ b/partitioned-table.md @@ -572,7 +572,21 @@ Empty set (0.00 sec) ## 分区管理 -通过 `ALTER TABLE` 语句可以执行一些添加、删除、合并、切分、重定义分区的操作。 +对于 `LIST` 和 `RANGE` 分区表,通过 `ALTER TABLE <表名> ADD PARTITION (<分区说明>)` 或 `ALTER TABLE <表名> DROP PARTITION <分区列>` 语句,可以执行添加和删除分区的操作。 + +对于 `LIST` 和 `RANGE` 分区表,暂不支持 `REORGANIZE PARTITION` 语句。 + +对于 `HASH` 分区表,暂不支持 `COALESCE PARTITION` 和 `ADD PARTITION` 语句。 + +`EXCHANGE PARTITION` 语句用来交换分区和非分区表,类似于重命名表如 `RENAME TABLE t1 TO t1_tmp, t2 TO t1, t1_tmp TO t2` 的操作。 + +例如,`ALTER TABLE partitioned_table EXCHANGE PARTITION p1 WITH TABLE non_partitioned_table` 交换的是 `p1` 分区的 `non_partitioned_table` 表和 `partitioned_table` 表。 + +确保要交换分区中的所有行与分区定义匹配;否则,你将无法找到这些行,并导致意外情况出现。 + +> **警告:** +> +> `EXCHANGE PARTITION` 是实验性功能,不建议在生产环境中使用。要启用 `EXCHANGE PARTITION`,将系统变量 `tidb_enable_exchange_partition` 设置为 `ON`。 ### Range 分区管理 From aaf0e39f6973c87af01eb24ffd0f36aec0792ada Mon Sep 17 00:00:00 2001 From: Liuxiaozhen12 <82579298+Liuxiaozhen12@users.noreply.github.com> Date: Fri, 27 Aug 2021 13:09:15 +0800 Subject: [PATCH 2/3] Update partitioned-table.md --- partitioned-table.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/partitioned-table.md b/partitioned-table.md index 01d10b20e7be..1e46cfde7225 100644 --- a/partitioned-table.md +++ b/partitioned-table.md @@ -586,7 +586,7 @@ Empty set (0.00 sec) > **警告:** > -> `EXCHANGE PARTITION` 是实验性功能,不建议在生产环境中使用。要启用 `EXCHANGE PARTITION`,将系统变量 `tidb_enable_exchange_partition` 设置为 `ON`。 +> `EXCHANGE PARTITION` 是实验性功能,不建议在生产环境中使用。要启用 `EXCHANGE PARTITION`,将系统变量 `tidb_enable_exchange_partition` 设置为 `ON`。 ### Range 分区管理 From d4e95d2b5eb498bbe2200a864a86e92ead8cc37e Mon Sep 17 00:00:00 2001 From: Liuxiaozhen12 <82579298+Liuxiaozhen12@users.noreply.github.com> Date: Fri, 3 Sep 2021 10:51:10 +0800 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- partitioned-table.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/partitioned-table.md b/partitioned-table.md index 1e46cfde7225..c04b9ba8f135 100644 --- a/partitioned-table.md +++ b/partitioned-table.md @@ -572,7 +572,7 @@ Empty set (0.00 sec) ## 分区管理 -对于 `LIST` 和 `RANGE` 分区表,通过 `ALTER TABLE <表名> ADD PARTITION (<分区说明>)` 或 `ALTER TABLE <表名> DROP PARTITION <分区列>` 语句,可以执行添加和删除分区的操作。 +对于 `LIST` 和 `RANGE` 分区表,通过 `ALTER TABLE <表名> ADD PARTITION (<分区说明>)` 或 `ALTER TABLE <表名> DROP PARTITION <分区列表>` 语句,可以执行添加和删除分区的操作。 对于 `LIST` 和 `RANGE` 分区表,暂不支持 `REORGANIZE PARTITION` 语句。 @@ -582,7 +582,7 @@ Empty set (0.00 sec) 例如,`ALTER TABLE partitioned_table EXCHANGE PARTITION p1 WITH TABLE non_partitioned_table` 交换的是 `p1` 分区的 `non_partitioned_table` 表和 `partitioned_table` 表。 -确保要交换分区中的所有行与分区定义匹配;否则,你将无法找到这些行,并导致意外情况出现。 +确保要交换入分区中的所有行与分区定义匹配;否则,你将无法找到这些行,并导致意外情况出现。 > **警告:** >