【发布时间】:2018-10-14 19:17:22
【问题描述】:
我搜索了很多关于 mysql 分区自动化的信息。 但不幸的是,没有任何问题可以解决。 我想删除一个不需要的旧分区,但同时将新的即将到来的数据添加到分区。 我可以在这里做的是每天删除一个旧分区并使用mysql的一些自动化功能创建新分区,例如MONTH(NOW()-interval 2 month)等。 但它会增加运营成本,因为我每天晚上都需要为新数据重新创建分区。 我发现我可以使用按范围分区,但所有硬编码示例都表明我可能需要在每次添加新数据时进行分区。
这是我找到的一个示例,但与我不太相似:
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'))
);
请给我一个正确的方法。
【问题讨论】:
标签: mysql partitioning partition database-partitioning alter