最新消息:博客的意义不在于数量,在于原创。

简单使用MySQL的分区

MySQL 辰 羽 1445浏览 0评论

建立分区表

mysql> create table tb2(id int,year_col int)partition by range(year_col)
   -> (partition p0 values less than (1991),
   -> partition p1 values less than  (1995),
   -> partition p2 values less than (1999)
   -> );

 mysql> insert into tb2 values ( 1, 1987),(2,1990),(3,1991),(4,1993),(5,1995),(6,1997),(8,2003);        

ERROR 1526 (HY000): Table has no partition for value 2003

 mysql> insert into tb2 values ( 1, 1987),(2,1990),(3,1991),(4,1993),(5,1995),(6,1997);

Query OK, 6 rows affected (0.00 sec)
Records: 6  Duplicates: 0  Warnings: 0

 

物理文件

tb2.frm  tb2.par  tb2#P#p0.ibd  tb2#P#p1.ibd  tb2#P#p2.ibd

增加分区

alter table tb2 add partition (partition p3 values less than (2002));

 

删除分区

alter table tb2 drop partition p3;

 

分解分区

alter table tb2 reorganize partition p2 into

(partition p2 values less than (1997),

partition p3 values less than (2000)); 

注意:2000必须大于等于原有p2包含的范围1999

 

合并分区

alter table tb2 reorganize partition p2,p3 into

(partition p2 values less than (x));

注意:x值必须大于或等于p3所包含的范围,也就是>=2000

 

删除所有分区

alter table tb2 remove partitioning;

注意:不丢失数据

 

重建分区

alter table tb2 rebuild partition p1,p2;

注意:用于整理分区碎片

转载自:http://blog.sina.com.cn/s/blog_4de07d5e0100zco2.html

转载请注明:辰羽的视界 » 简单使用MySQL的分区

与本文相关的文章

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址