mysql ---分割槽管理與維護
mysql 分割槽管理
為沒有分割槽的表建立分割槽
alter table user_1 partition by range(age)(
partition age_1 values less than (20),
partition age_2 values less than (30)
);
2:刪除某個分割槽的資料
alter table user_1 drop partition age_2;
3:為分割槽表新增一個分割槽
ALTER TABLE user_1 ADD PARTITION (PARTITION age_3 VALUES LESS THAN (30));
ALTER TABLE user_1 ADD PARTITION (PARTITION age_max VALUES LESS THAN maxvalue );
ALTER TABLE user_1 ADD PARTITION (PARTITION age_4 VALUES LESS THAN (40));
4.將分割槽表的第一個分割槽分為兩個新的分割槽
ALTER TABLE user_1
REORGANIZE PARTITION age_1 INTO (
PARTITION age11 VALUES LESS THAN (15),
PARTITION age12 VALUES LESS THAN (20)
);
將分割槽表的第二個分割槽分為兩個新的分割槽
ALTER TABLE user_1
REORGANIZE PARTITION age_3 INTO (
PARTITION age21 VALUES LESS THAN (25),
PARTITION age22 VALUES LESS THAN (30)
);
5:也可以將兩個分割槽合併為一個分割槽,也可以理解為重新組織分割槽
ALTER TABLE user_1 REORGANIZE PARTITION age21,age22 INTO (
PARTITION age221 VALUES LESS THAN (30)
);
6,刪除分割槽表
alter table user_1 remove partitioning;
7.檢視分割槽表裡的資料
7.1
SELECT
partition_name part,
partition_expression expr,
partition_description descr,
table_rows
FROM
INFORMATION_SCHEMA.partitions
WHERE
TABLE_SCHEMA = schema()
AND TABLE_NAME=‘user_1’;
7.2
SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION
FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME=‘user_1’;