我有一個表看起來像這樣創建新的分區:可從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