MySQL 按时间进行表分区
在MySQL中,您可以使用RANGE分区按时间列(如日期或时间戳)进行表的分区。以下是一个创建按时间分区的表的示例SQL代码:
CREATE TABLE orders (
order_id INT NOT NULL,
order_date DATETIME NOT NULL,
order_amount DECIMAL(10, 2) NOT NULL,
-- 其他字段...
) PARTITION BY RANGE (YEAR(order_date)) (
PARTITION p0 VALUES LESS THAN (1991),
PARTITION p1 VALUES LESS THAN (1992),
PARTITION p2 VALUES LESS THAN (1993),
PARTITION p3 VALUES LESS THAN (1994),
PARTITION pmax VALUES LESS THAN MAXVALUE
);
在这个例子中,orders
表按照order_date
字段中日期的年份进行分区。每个分区包含一个年份的数据。p0
到p3
是具体的分区,pmax
是一个MAXVALUE分区,它会匹配所有不符合前面分区条件的数据。
请确保您的MySQL版本支持此类分区,并且在执行分区操作前您有足够的权限。
评论已关闭