1、定期維護表:
ANALYZE TABLE `t_order_package`;
OPTIMIZE TABLE `t_order_package`; -- 每月在低峰期執行
2、數據歸檔(如果create_time較舊):
-- 歸檔舊數據到歷史表
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
);