繁体   English   中英

如何快速将非常大的csv文件导入mysql?

[英]How can I import very large csv file into mysql fastly?

例如,如果我有1 GB的csv文件,并且想将其快速导入到mysql,该怎么办? 我之前尝试过导入1 GB的文件,它花费了大约1.5个小时的时间。 我使用16 GB RAM的计算机。 如果我要上传较大的文件,则需要更长的时间。

那么,我应该怎么做才能加快流程? 谢谢....

您可以暂时禁用所涉及表的键/索引(对于MyISAM)

ALTER TABLE ... ENABLE/DISABLE KEYS

或将InnoDB的AUTO_COMMIT设置为off。

SET AUTOCOMMIT = 0; 
SET FOREIGN_KEY_CHECKS = 0; 
SET UNIQUE_CHECKS = 0;
SET sql_log_bin = 0;

然后运行LOAD DATA INFILE

注意:这里要注意的一件事是,驻留在同一主机上的源文件可以帮助我们提高性能,因为数据不必通过网络传输。 短期使用LOAD DATA INFILE而不是LOAD DATA LOCAL INFILE。

您可以参考以下精心设计的答案: MySQL禁用和启用键

将MySQL数据库放在更快的磁盘上。

数据库通常受IO限制,因此,如果要使用速度更快的数据库,则应将其放在速度更快的磁盘硬件上。

您的数据的磁盘存储空间是多少? SATA驱动器? 每秒最多可处理50-70个IO操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM