我有一个表看起来像这样创建新的分区:可从MySQL的事件调度
CREATE TABLE `Calls` (
`calendar_id` int(11) NOT NULL,
`db_date` timestamp NOT NULL,
`cgn` varchar(32) DEFAULT NULL,
`cpn` varchar(32) DEFAULT NULL,
PRIMARY KEY (`calendar_id`),
KEY `db_date_idx` (`db_date`)
)
PARTITION BY RANGE (calendar_id)(
PARTITION p20091024 VALUES LESS THAN (20091024) ,
PARTITION p20091025 VALUES LESS THAN (20091025));
我可以以某种方式使用mysql调度自动添加一个新的分区(提前2天) - 我在寻找,将每天增加一个新的分区的例子 - 它会运行类似
alter table Calls add partition (partition p20091026 values less than(20091026));
凡p20091026/20091026在建造时计划任务运行,从现在开始+ 2日获得价值。 (或者我更好的通过cron编写脚本?)
最多有每个表允许1024个分区,因此该方案将在3岁以下用完分区。而日常分区会提高性能的情况将非常罕见......如果你真的坚持这样做,你可能不需要每天创建一个新的分区,请参见[这里](http://stackoverflow.com/a/6163679/238419) – 2013-06-03 20:29:35