如果我有1 GB的csv文件并且我想快速将其导入mysql,我该怎么办?我之前尝试导入1 GB文件,耗时约1.5小时。我使用16 GB RAM的计算机。如果我想上传较大的文件,则需要更长的时间。
那么,我应该怎样做才能加快这个过程? 感谢....
答案 0 :(得分:0)
您可以暂时禁用所涉及的表的键/索引(对于MyISAM)
ALTER TABLE ... ENABLE/DISABLE KEYS
或将Inn_DB的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 disable & enable keys
答案 1 :(得分:0)
将MySQL数据库放在更快的磁盘上。
数据库往往受IO限制,所以如果你想要一个更快的数据库,你应该把它放在更快的磁盘硬件上。
您的数据的磁盘存储空间是多少?一个SATA驱动器?这将最多处理每秒50-70次IO操作。