MySQL的分区表是一种将数据分散存储在多个物理子表中的技术。通过按月建分区表,可以将数据按月份进行划分,从而提高查询效率和数据管理的灵活性。
MySQL支持多种分区类型,包括:
对于按月建分区表,通常使用RANGE分区。
按月建分区表适用于以下场景:
以下是一个按月建分区表的示例代码:
CREATE TABLE sales (
id INT AUTO_INCREMENT,
sale_date DATE,
amount DECIMAL(10, 2),
PRIMARY KEY (id, sale_date)
) PARTITION BY RANGE (TO_DAYS(sale_date)) (
PARTITION p202301 VALUES LESS THAN (TO_DAYS('2023-02-01')),
PARTITION p202302 VALUES LESS THAN (TO_DAYS('2023-03-01')),
PARTITION p202303 VALUES LESS THAN (TO_DAYS('2023-04-01')),
-- ... 其他月份的分区
PARTITION p202312 VALUES LESS THAN (TO_DAYS('2024-01-01'))
);
领取专属 10元无门槛券
手把手带您无忧上云