目前,我遇到了一种情况,需要将一个巨大的sql脚本导入mysql。sql脚本内容主要涉及插入操作。但是那里有这么多的记录,文件大小在80 is左右。
该机器有8个cpus,20 mem的内存。我做过这样的事情:
mysql -h [*host_ip_address*] -u *username* -px xxxxxxx -D *databaseName* < giant.sql但是整个过程需要服务器天,,这是相当long.Is,还有其他任何将该文件导入数据库的选项吗?
非常感谢。
发布于 2015-04-24 07:01:41
我建议你试试负载数据信息。它非常快。我没有使用它加载到远程服务器,但有mysqlimport实用程序。参见不同方法的比较:https://dev.mysql.com/doc/refman/5.5/en/insert-speed.html。
此外,还需要将sql脚本转换为适合LOAD DATA INFILE子句的格式。
发布于 2015-04-24 09:20:25
您可以使用shell脚本将sql文件分解为多个文件(基于表)&然后一个接一个地准备一个shell脚本来导入该文件。这将迅速插入,而不是一次进入。
原因是插入的记录占用了单个进程在内存中的空间,而不是删除。您可以看到,在5小时后导入脚本时,查询执行速度将很慢。
发布于 2015-04-27 04:46:11
谢谢你们的帮助。
我已经采纳了你的一些建议,并对此做了一些比较,现在是时候发布结果了。目标单一sql脚本15 The。
总的来说,我试过:
(不幸的是,我没有为这个数据集尝试加载数据方法)
结论:
如果您不想使用Load数据方法,则必须将庞大的sql导入mysql。最好是:
您可以在导入后再添加索引。干杯
谢谢@btilly @Hitesh Mundra
https://stackoverflow.com/questions/29839112
复制相似问题