最近在用MySQL开发新功能时,使用到了alter table range partition的功能,在此总结下mysql innodb支持的alter table range partition相关功能。mysql的版本是8.0.22, os: linux ubuntu
对alter range partition的操作主要由以下几个:
analyze partition
add partition
drop partition
truncate partition
remove partitioning
check partition
repair partition
rebuild partition
reorganize partition
coalesce partition
每个操作对应的具体功能就不多说了,网上的说明太多了,自己找吧,主要讲述SQL语句的写法,建表语句如下:
CREATE TABLE tt (
aa int not null,
bb int not null,
cc int not null,
primary key(aa,bb))ENGINE=innodb partition by range (aa)
partitions 3
(partition p1 values less than (5) ENGINE=GreatDB,
partition p2 values less than (10) ENGINE=GreatDB,
partition p3 values less than (50) ENGINE=GreatDB);
INSERT into tt values (1, 1, 1);
INSERT into tt values (6, 1, 1);
INSERT into tt values (10, 1, 1);
INSERT into tt values (15, 1, 1);
查询分区name的SQL语句如下:
select partition_name part, table_rows from information_schema.partitions where table_name