导入10 GB SQL文件

时间:2015-07-09 07:42:08

标签: mysql

我有10 GB的SQL文件,72个表中有数百万行。我的存储引擎是 innodb

我创建了包含所有必需表的数据库,并在MySQL提示符中发出以下命令:

mysql> source path/to/my/sqlfile.sql

它会运行得很好,直到大约10%的方式。 它会快速启动,几分钟后或每个插入语句减慢到3秒,并且每次插入时减慢到10秒。

它已经运行了三天,30%的数据已经恢复。

我无法理解为什么这么慢?

1 个答案:

答案 0 :(得分:2)

通过禁用外键检查来加速负载来启动负载是一个好主意:

mysql> SET foreign_key_checks = 0;
mysql> SOURCE dump_file_name;
mysql> SET foreign_key_checks = 1;

这是manual建议使加载更容易(表格不需要按顺序加载)和更快(插入行时不验证外键)。

此外,您可能还要禁用UNIQUE_CHECKSSET UNIQUE_CHECKS=0)。

如果没有看到DDL和数据,进一步优化是相当困难的。有几个options you could try