mysq优化之(快速复制一张大数据的表)

方式一:先导出、再导入(关闭唯一验证、关闭自动提交、使用LOAD DATA INFILE)

 SELECT * INTO OUTFILE 'D:\\d_paid.txt' FROM d_paid
 LOAD DATA INFILE 'D:\\d_paid.txt' INTO TABLE d_paid2

导出花费时间:

导入花费时间:

一千万条数据只花了两分多钟,这里忘记截图了(关闭了自动提交、关闭了唯一性检查、load比传统的insert效率高很多)。

方式二:蠕虫复制(关闭唯一验证、关闭自动提交、复制自身数据)

蠕虫复制500万条数据只要1分多钟的优化方式(InnoDB存储引擎)。

 -- 关闭自动提交
 SET  AUTOCOMMIT=0
 -- 关闭唯一性检查
 SET  UNIQUE_CHECKS=0

导完数据记得改回去。

测试结果:

 数据库从500万条数据瞬间到达1000万条数据了。

再记录一下表结构复制的语句:

 CREATE TABLE d_paid2 LIKE d_paid

猜你喜欢

转载自blog.csdn.net/Lei_Da_Gou/article/details/89785751
今日推荐