mysql分區表LIST

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));



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章