[英]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.