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 列的年份范围进行了分区。
请注意,以上内容仅供参考,实际应用中应根据具体需求和场景进行调整。
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
云+社区沙龙online[数据工匠]
Techo Youth2022学年高校公开课
企业创新在线学堂
“中小企业”在线学堂
企业创新在线学堂
Tencent Serverless Hours 第15期
云+社区沙龙online [技术应变力]
腾讯云数据库TDSQL训练营