mysqlパーティションテーブルリスト

1.新建普通表
CREATE TABLE data(id int(30) ,time int(12), sarlay decimal(12,2));
2.插入数据
INSERT INTO data VALUES (1,201911,10000), (2,201912, 12000), (3,201910, 11000), (4,202001,13000), (5,202001,15000), (6,202004,16000), (7,202004, 17000), (8,202004, 180000);
3.建立LIST分区表
CREATE TABLE data_list(id int(30) ,time int(12), sarlay decimal(12,2));
       PARTITION BY LIST(time ) (
       PARTITION p0 VALUES IN (201910),
       PARTITION p1 VALUES IN (201911),
       PARTITION p2 VALUES IN (201912),
       PARTITION p3 VALUES IN (202001),
       PARTITION p4 VALUES IN (202004)
       );  
4.插入数据至分区表
INSERT INTO data_list SELECT * FROM data;
5.查看分区表情况
SELECT table_name,partition_name,partition_description,table_rows FROM
information_schema.`PARTITIONS` WHERE table_name = 'data_list ';


6.删除分区
alter table data_list drop partition p4;
alter table data_list drop partition p2,p3;
 -- 删除分区会直接删除数据,请谨慎。
 
7.新增分区
alter table data_list ADD PARTITION (PARTITION p4 VALUES IN (202004));

alter table data_list ADD PARTITION (PARTITION p5 VALUES IN (202005,202006));


8.拆分分区

 ALTER TABLE data_list REORGANIZE PARTITION p5 INTO (PARTITION p5 VALUES IN (202005),PARTITION p6 VALUES IN (202006));

9.合并分区
 ALTER TABLE data_list REORGANIZE PARTITION p5,p6 INTO (PARTITION p5_6 VALUES IN (202005,202006));



おすすめ

転載: blog.csdn.net/qq_37980436/article/details/106012415