MySQL 分区是将一个表或索引分解成多个更小、更可管理的部分的技术。分区后的表与未分区的表在执行查询时没有区别,MySQL 会自动根据分区条件选择需要扫描的分区。
假设我们有一个包含大量历史数据的表 sales
,我们可以按年份对其进行分区。
CREATE TABLE sales (
id INT AUTO_INCREMENT,
sale_date DATE,
amount DECIMAL(10, 2),
PRIMARY KEY (id, sale_date)
) PARTITION BY RANGE (YEAR(sale_date)) (
PARTITION p0 VALUES LESS THAN (2010),
PARTITION p1 VALUES LESS THAN (2015),
PARTITION p2 VALUES LESS THAN (2020),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
在这个例子中,sales
表被按 sale_date
列的年份范围进行了分区。
请注意,以上内容仅供参考,实际应用中应根据具体需求和场景进行调整。
领取专属 10元无门槛券
手把手带您无忧上云