-- 归档旧数据到历史表
INSERT INTO `t_order_package_archive`
SELECT * FROM `t_order_package`
WHERE `create_time` < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 YEAR));-- 然后删除原表数据
DELETE FROM `t_order_package`
WHERE `create_time` < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 YEAR));
3、考虑分区表(如果数据量超大):
ALTER TABLE `t_order_package`
PARTITION BY RANGE (TO_DAYS(create_time)) (PARTITION p2023 VALUES LESS THAN (TO_DAYS('2024-01-01')),PARTITION p2024 VALUES LESS THAN (TO_DAYS('2025-01-01')),PARTITION pmax VALUES LESS THAN MAXVALUE
);