维护水平分区¶
为了让用户能够更加灵活的控制水平分区,下面提供了水平分区的维护操作。下表3-1为一级子分区表维护操作矩阵,表3-2是二级子分区表维护操作。
表 1一级子分区表维护操作
| 维护操作 | 范围[复合]分区 | 哈希[复合]分区 | 列表[复合]分区 |
|---|---|---|---|
| 增加分区 | ADD PARTITION | ADD PARTITION | ADD PARTITION |
| 结合分区 | COALESCE PARTITION | ||
| 移除分区 | DROP PARTITION | DROP PARTITION | |
| 交换分区 | EXCHANGE PARTITION | EXCHANGE PARTITION | EXCHANGE PARTITION |
| 合并分区 | MERGE PARTITION | MERGE PARTITION | |
| 修改默认属性 | MODIFY DEFAULT ATTRIBUTES | MODIFY DEFAULT ATTRIBUTES | MODIFY DEFAULT ATTRIBUTES |
| 修改真实属性 | MODIFY PARTITION | MODIFY PARTITION | MODIFY PARTITION |
| 修改列表分区:添加值 | MODIFY PARITION ... ADD VALUES | ||
| 修改列表分区:删除值 | MODIFY PARTITION ... DROP VALUES | ||
| 移动分区 | MOVE PARTITION | MOVE PARTITION | MOVE PARTITION |
| 分裂分区 | SPLIT PARTITION | SPLIT PARTITION | |
| 截断分区 | TRUNCATE PARTITION | TRUNCATE PARTITION | TRUNCATE PARTITION |
表 2二级子分区表维护操作
| 维护操作 | *-范围复合分区 | *-哈希复合分区 | *-列表复合分区 |
|---|---|---|---|
| 增加分区 | MODIFY PARTITION ... ADD SUBPARTITION | MODIFY PARTITION ... ADD SUBPARTITION | MODIFY PARTITION ... ADD SUBPARTITION |
| 结合分区 | MODIFY PARTITION ... COALESCE SUBPARTITION | ||
| 移除分区 | DROP PARTITION | DROP PARTITION | |
| 交换分区 | EXCHANGE SUBPARTITION | EXCHANGE SUBPARTITION | |
| 合并分区 | MERGE SUBPARTITIONS | MERGE SUBPARTITIONS | |
| 修改默认属性 | MODIFY DEFAULT ATTRIBUTES FOR PARTITION | MODIFY DEFAULT ATTRIBUTES FOR PARTITION | MODIFY DEFAULT ATTRIBUTES FOR PARTITION |
| 修改真实属性 | MODIFY SUBPARTITION | MODIFY SUBPARTITION | MODIFY SUBPARTITION |
| 修改列表分区:添加值 | MODIFY SUBPARTITION ... ADD VALUES | ||
| 修改列表分区:删除值 | MODIFY SUBPARTITION ... DROP VALUES | ||
| 修改分区模板 | SET SUBPARTITION TEMPLATE | SET SUBPARTITION TEMPLATE | SET SUBPARTITION TEMPLATE |
| 移动分区 | MOVE SUBPARTITION | MOVE SUBPARTITION | MOVE SUBPARTITION |
| 重命名分区 | RENAME SUBPARTITION | RENAME SUBPARTITION | RENAME SUBPARTITION |
| 分裂分区 | SPLIT SUBPARTITION | SPLIT SUBPARTITION | |
| 截断分区 | TRUNCATE SUBPARTITION | TRUNCATE SUBPARTITION | TRUNCATE SUBPARTITION |
如果执行alter table操作(增加分区、删除分区、结合分区、合并分区、分裂分区、增加键值、删除键值、interval扩展分区、rename分区名、rename表名和rename列名),需要保证该表没有视图依赖。
Alter table中非水平分区维护操作,对水平分区的影响:
Alter table 删除表的列,无法对分区键进行删除。在删除了表的列后,局部分区索引,全局分区索引,全局非分区索引,仍然都处于有效状态。如果删除的列为局部分区索引的索引键,或者是全局分区索引的索引键,那么索引将会被删除。