@xiiicool
есть например:
ALTER TABLE table_name PARTITION BY create_date (
PARTITION p_old VALUES LESS THAN(2011-12-01),
PARTITION p_1 VALUES LESS THAN(2012-02-01),
PARTITION p_2 VALUES LESS THAN(MAXVALUE)
);
Нужно добавить новую партицию с 2013 годом, но у последняя партиции maxvalue и выдаёт ошибку
VALUES LESS THAN value must be strictly increasing for each partition
, нужно реорганизацию делать или есть другой выход?
Решения вопроса 1
@Akina
Да, нужно делать реорганизацию — операция потенциально требует переноса данных между партициями.
Прмер:
CREATE TABLE table_name (create_date DATE);
ALTER TABLE table_name
PARTITION BY RANGE(create_date + 0) (
PARTITION p_old VALUES LESS THAN(20111201),
PARTITION p_1 VALUES LESS THAN(20120201),
PARTITION p_2 VALUES LESS THAN(MAXVALUE)
);
Добавляем партицию (точнее, разделяем партицию на две):
ALTER TABLE table_name
REORGANIZE PARTITION p_2 INTO (
PARTITION p_2 VALUES LESS THAN (20130101),
PARTITION p_max VALUES LESS THAN (MAXVALUE)
);
Ответы на вопрос 0