【发布时间】:2018-12-06 00:04:45
【问题描述】:
我有如下表格:
CREATE TABLE TEST_P (
ID VARCHAR(64),
F_NAME int NOT NULL,
L_NAME VARCHAR(64),
CREATETS DATETIME NOT NULL,
PRIMARY KEY(DATA_TRACE_ID,CREATETS)
)
PARTITION BY RANGE(DAY(CREATETS))(
PARTITION day1 VALUES LESS THAN (2),
PARTITION day2 VALUES LESS THAN (3),
PARTITION day3 VALUES LESS THAN (4),
PARTITION day4 VALUES LESS THAN (5),
PARTITION day5 VALUES LESS THAN (6),
PARTITION day6 VALUES LESS THAN (7),
PARTITION day7 VALUES LESS THAN (8),
PARTITION day8 VALUES LESS THAN (9),
PARTITION day9 VALUES LESS THAN (10),
PARTITION day10 VALUES LESS THAN (11),
PARTITION day11 VALUES LESS THAN (12),
PARTITION day12 VALUES LESS THAN (13),
PARTITION day13 VALUES LESS THAN (14),
PARTITION day14 VALUES LESS THAN (15),
PARTITION day15 VALUES LESS THAN (16),
PARTITION day16 VALUES LESS THAN (17),
PARTITION day17 VALUES LESS THAN (18),
PARTITION day18 VALUES LESS THAN (19),
PARTITION day19 VALUES LESS THAN (20),
PARTITION day20 VALUES LESS THAN (21),
PARTITION day21 VALUES LESS THAN (22),
PARTITION day22 VALUES LESS THAN (23),
PARTITION day23 VALUES LESS THAN (24),
PARTITION day24 VALUES LESS THAN (25),
PARTITION day25 VALUES LESS THAN (26),
PARTITION day26 VALUES LESS THAN (27),
PARTITION day27 VALUES LESS THAN (28),
PARTITION day28 VALUES LESS THAN (29),
PARTITION day29 VALUES LESS THAN (30),
PARTITION day30 VALUES LESS THAN (31),
PARTITION day31 VALUES LESS THAN MAXVALUE
);
我想编写一个脚本来删除今天+1 天的分区并创建一个具有相同分区条件的新分区。 例如:
我想删除分区 day5,因为我想删除该表中的数据。
我正在这样做:
ALTER TABLE TEST_P REORGANIZE PARTITION day5 into
(PARTITION day5 VALUES LESS THAN (5),
PARTITION day6 VALUES LESS THAN (6),
PARTITION day7 VALUES LESS THAN (7),
PARTITION day8 VALUES LESS THAN (8),
PARTITION day9 VALUES LESS THAN (9),
PARTITION day10 VALUES LESS THAN (10),
PARTITION day11 VALUES LESS THAN (11),
PARTITION day12 VALUES LESS THAN (12),
PARTITION day13 VALUES LESS THAN (13),
PARTITION day14 VALUES LESS THAN (14),
PARTITION day15 VALUES LESS THAN (15),
PARTITION day16 VALUES LESS THAN (16),
PARTITION day17 VALUES LESS THAN (17),
PARTITION day18 VALUES LESS THAN (18),
PARTITION day19 VALUES LESS THAN (19),
PARTITION day20 VALUES LESS THAN (20),
PARTITION day21 VALUES LESS THAN (21),
PARTITION day22 VALUES LESS THAN (22),
PARTITION day23 VALUES LESS THAN (23),
PARTITION day24 VALUES LESS THAN (24),
PARTITION day25 VALUES LESS THAN (25),
PARTITION day26 VALUES LESS THAN (26),
PARTITION day27 VALUES LESS THAN (27),
PARTITION day28 VALUES LESS THAN (28),
PARTITION day29 VALUES LESS THAN (29),
PARTITION day30 VALUES LESS THAN (30),
PARTITION day31 VALUES LESS THAN (31),
PARTITION p_default VALUES LESS THAN MAXVALUE)
但我明白了
要重组的分区列表出错
这张表增长的非常快非常快,所以我想删除其中一个月的数据,不影响表的性能。
【问题讨论】:
-
这是否与exchange partition 相同,使用空表然后删除提取的表?
-
REORGANIZE PARTITION用于将一个分区拆分为新的分区,它们不能与其他分区重叠。 -
REORGANIZE可以合并或拆分。问题在于第 6 天等。
标签: mysql partitioning