how to drop partition without dropping data in MySQL?

前端 未结 4 1654
执笔经年
执笔经年 2021-02-03 23:11

I have a table like:

create table registrations( 
id int not null auto_increment primary key,
name varchar(50),
mobile_number varchar(13)) 
engine=innodb 
partit         


        
4条回答
  •  清酒与你
    2021-02-03 23:23

    You can reorganize the partition p0 using the ALTER TABLE .. REORGANIZE PARTITION command.

    http://dev.mysql.com/doc/refman/5.5/en/partitioning-management-range-list.html

    If you intend to change the partitioning of a table without losing data, use ALTER TABLE ... REORGANIZE PARTITION

    ALTER TABLE registrations 
    REORGANIZE PARTITION p0 INTO (
        PARTITION p0 VALUES LESS THAN (10000),
        PARTITION p0 VALUES LESS THAN (20000)
    );
    

    Note that this will not make sense until you actually create several partitions e.g.

    ALTER TABLE registrations 
    REORGANIZE PARTITION p0 INTO (
        PARTITION p0 VALUES LESS THAN (10000),
        PARTITION p1 VALUES LESS THAN (20000),
        PARTITION p2 VALUES LESS THAN MAXVALUE
    );
    

    Have a look at RANGE partitioning in MySQL

    If your partition p2 is becoming too large you can split it the same way.

提交回复
热议问题