3
我試圖使用其created
字段對現有表(使用現有數據)進行分區。在未來的日期創建多個分區是否正確?這有什麼缺點嗎?MySQL:爲未來日期添加分區
由於我的表現有PK只是id
我改變它包括created
場,所以我可以通過RANGE
對它進行分區:
ALTER TABLE orders DROP PRIMARY KEY, ADD PRIMARY KEY(id, created);
加起來分區,以在2018年底:
ALTER TABLE orders PARTITION BY RANGE (TO_DAYS(created))(
PARTITION p001 VALUES LESS THAN (0),
PARTITION p002 VALUES LESS THAN (TO_DAYS('2015-05-01')),
PARTITION p003 VALUES LESS THAN (TO_DAYS('2015-09-01')),
PARTITION p004 VALUES LESS THAN (TO_DAYS('2016-01-01')),
PARTITION p005 VALUES LESS THAN (TO_DAYS('2016-05-01')),
PARTITION p006 VALUES LESS THAN (TO_DAYS('2016-09-01')),
PARTITION p007 VALUES LESS THAN (TO_DAYS('2017-01-01')),
PARTITION p008 VALUES LESS THAN (TO_DAYS('2017-05-01')),
PARTITION p009 VALUES LESS THAN (TO_DAYS('2017-09-01')),
PARTITION p010 VALUES LESS THAN (TO_DAYS('2018-01-01')),
PARTITION p011 VALUES LESS THAN (TO_DAYS('2018-05-01')),
PARTITION p012 VALUES LESS THAN (TO_DAYS('2018-09-01')),
PARTITION p013 VALUES LESS THAN (TO_DAYS('2019-01-01')),
PARTITION pmax VALUES LESS THAN MAXVALUE
)
可以嗎?或者等到今年年底才能爲明年申請新的分區好得多?
這沒有回答任何問題 – user1143669
@ user1143669 - 這個問題似乎是關於創建大量'未來'分區。答案是「不」,有些原因不適用。相反,只創建一個,但不打算填充它;而是在夜間「構建明天的分區」失敗時保存它。 –