mysql分区那些事

 mysql中的分区有range、list、hash、key四种分区方法
 我们这里介绍range方法,其他的可以融会贯通

 

对已有表进行分区(range模式)

 ALTER TABLE 表名 PARTITION by range(字段名) (PARTITION 分区名  VALUES LESS THAN (字段值) );
alter TABLE user_log PARTITION by range(id)
(
        PARTITION user_log_a VALUES less than (17),
        PARTITION user_log_b VALUES less than (20),
        PARTITION user_log_c VALUES less than (MAXVALUE)

);

查看分区情况

EXPLAIN PARTITIONS SELECT * from user_log

 

查询制定分区

SELECT * from user_log PARTITION(user_log_a);
SELECT * from user_log PARTITION(user_log_b);
select * from user_log PARTITION(user_log_c);

其他操作命令

合并
alter table 表名
reorganize partition 分区名1,分区名2 into
(partition 分区名 values less than (xx));
删除分区
alter table 表名drop partition 分区名;(丢数据)
删除分区 (不丢数据)
Alter table news_main remove partitioning;

 

posted @ 2016-12-18 09:46  人间最美二月天  阅读(139)  评论(0编辑  收藏  举报