Ken*_*uki 5 mysql csv import performance row
例如,如果我有 1 GB 的 csv 文件,并且我想将其快速导入到 mysql,我该怎么办?我之前尝试过导入 1 GB 文件,大约需要 1.5 小时。我使用 RAM 为 16 GB 的计算机。如果我想上传较大的文件,则需要更长的时间。
那么,我应该怎样做才能加快这个过程呢?谢谢....
您可以暂时禁用相关表的键/索引(对于 MyISAM)
ALTER TABLE ... ENABLE/DISABLE KEYS
Run Code Online (Sandbox Code Playgroud)
或者将 InnoDB 的 AUTO_COMMIT 设置为关闭。
SET AUTOCOMMIT = 0;
SET FOREIGN_KEY_CHECKS = 0;
SET UNIQUE_CHECKS = 0;
SET sql_log_bin = 0;
Run Code Online (Sandbox Code Playgroud)
然后运行 LOAD DATA INFILE
注意:这里需要注意的一件事是,驻留在同一主机上的源文件可以帮助我们提高性能,因为数据不必通过网络传输。简而言之,使用 LOAD DATA INFILE 而不是 LOAD DATA LOCAL INFILE。
您可以从这个详尽的答案中获取参考: MySQL禁用和启用键