Я много искал об автоматизации разбиения mysql.
Но, к сожалению, ничто не соответствует проблеме.
Я хочу удалить старые разделы, которые не нужны, но в то же время добавить новые предстоящие данные в раздел.
Что я могу сделать здесь, так это каждый день удалять старый раздел и создавать новые разделы с некоторыми автоматическими функциями mysql, такими как MONTH (NOW () - интервал 2 месяца) и т. Д.
Но то, что это сделает, увеличит стоимость операции, поскольку каждую ночь мне нужно пересоздавать разделы для новых данных.
Я обнаружил, что могу использовать разбиение по диапазону, но есть все жестко закодированные примеры, которые указывают на то, что мне может потребоваться выполнять разбиение каждый раз, когда добавляются новые данные.
Вот пример, который я нашел, но не очень похож на меня:
ALTER TABLE t1 PARTITION BY
RANGE(TO_DAYS(FROM_UNIXTIME(transaction_date)))(
PARTITION JAN VALUES LESS THAN (TO_DAYS('2013-02-01')),
PARTITION FEB VALUES LESS THAN (TO_DAYS('2013-03-01')),
PARTITION MAR VALUES LESS THAN (TO_DAYS('2013-04-01')),
PARTITION APR VALUES LESS THAN (TO_DAYS('2013-05-01')),
PARTITION MAY VALUES LESS THAN (TO_DAYS('2013-06-01')),
PARTITION JUN VALUES LESS THAN (TO_DAYS('2013-07-01')),
PARTITION JUL VALUES LESS THAN (TO_DAYS('2013-08-01')),
PARTITION AUG VALUES LESS THAN (TO_DAYS('2013-09-01')),
PARTITION SEP VALUES LESS THAN (TO_DAYS('2013-10-01')),
PARTITION `OCT` VALUES LESS THAN (TO_DAYS('2013-11-01')),
PARTITION NOV VALUES LESS THAN (TO_DAYS('2013-12-01')),
PARTITION `DEC` VALUES LESS THAN (TO_DAYS('2014-01-01'))
);
Пожалуйста, предложите мне правильный способ сделать это.