MySQL 5.1中的分区管理

admin 发表于 [MySQL] 分类,标签: MySQL命令行 性能优化
0

1)删除分区

ALTER TABLE t1 DROP PARTITION (x0, x1);


 此命令 用于删除 RANGE / LIST 分区中的 任何 分区 对于 RANGE 分区 删除分区后,被删除 范围将被 其余的分区继承 。被删除的 分区 数据将丢失

ALTER TABLE t1 COALESCE PARTITION 2; 

此命令可 用于删除 一个 哈希(hash)分区中的 分区 数据不会丢失
如果 线性键 /哈希( LINEAR KEY/HASH )分区,
只有 少数 的分区 需要 重组 对于 普通 的哈希(hash) 分区 所有分区都必会 重组。

2)添加分区

ALTER TABLE t1 ADD PARTITION (PARTITION x0 VALUES LESS THAN (10)); 

此命令 用于对 所有 类型 的分区 添加 分区 对于 RANGE / LIST 分区 它增加了 一个新的空 分区 。对于 HASH 分区
,它的数据被 重组为 分区 数量 。加上LINEAR 关键字 意味着进行快速 重组

3)合并分区

ALTER TABLE t1 REORGANIZE PARTITION (x0, x1) INTO 
(PARTITION x01 VALUES LESS THAN (10)); 

REORGANIZE PARTITION可 用于 任何分区 类型 但对于hash 分区, 这些 重组后的 分区数量 必须 相同

4)拆分分区

ALTER TABLE t1 REORGANIZE PARTITION (x0) INTO 
(PARTITION x01 VALUES IN (19,20), PARTITION x02 VALUES IN (21,22)); 

5)重组 分区中 数据

ALTER TABLE t1 REORGANIZE PARTITION (x0,x1) INTO 
(PARTITION x01 VALUES LESS THAN (19), PARTITION x02 VALUES LESS THAN (22)); 

这个命令可以 用来 改变RANGE分区的 范围 ,或LIST 分区和 简单 重组HASH 分区的

6)重建分区

ALTER TABLE t1 REBUILD PARTITION (x0, x1)

重建 分区 可以 作为一个范例 方法 以消除 碎片

7)优化 分析 ,修复和 检查 分区

ALTER TABLE t1 OPTIMIZE PARTITION (x0, x1); 
ALTER TABLE t1 ANALYZE PARTITION (x0); 
ALTER TABLE t1 REPAIR PARTITION (x0); 
ALTER TABLE t1 CHECK PARTITION (x0); 


8)切换到 任何新的 分区方案

ALTER TABLE t1 PARTITION BY ... (任何合法的的分区语法) ;

目前还有 没有办法将 一个分区的数据 移动到 另一个表 对于 将来的版本或许会支持

(翻译:admpub)

原文:http://forums.mysql.com/read.php?106,48216,48216  (英文)

发表我的评论