某张表数据量很大,但只需保留最近3个月的数据,直接删数据又怕客户找麻烦,所以就想创建一张备用表,将3个月以前的数据挪到备用表中。
环境
CentOS 6.7 32bit
MySQL 5.6.X
操作
# 创建归档表(只复制表结构和索引)
CREATE TABLE MyTableBak like MyTable;
# 删除归档表的所有索引(这样可以提高插入速度)
# 将3个月以前的数据导入归档表
INSERT INTO MyTableBak SELECT * FROM MyTable WHERE date < ‘2015-12-25’;
# 删除原表3个月以前的数据
DELETE FROM MyTable where date < ‘2015-12-25’
来源:http://yestreenstars.blog.51cto.com/1836303/1744832/