MySQL LOAD DATA LOCAL INFILE与SQL文件

时间:2013-09-19 12:18:53

标签: mysql sql csv

我们每天使用以下方法将大约6GB的CSV文件加载到MySQL中:

LOAD DATA LOCAL INFILE 'file$i.csv' INTO TABLE tableName FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n';

我们有6个文件经过这个过程,所以需要一些时间。由于我们自己生成这些文件,因此我们可以控制输出的格式。

最初我们选择了CSV,因为这是一个较小的流程,我们需要移动数据并由非开发人员轻松阅读。然而,现在,由于加载时间非常激烈,我们现在正在谈论时间,这不是一个问题。

将每一行作为INSERT查询输出到单个文件并执行该行还是更快,是否更快?

我们正在使用InnoDB存储引擎。

1 个答案:

答案 0 :(得分:0)

如果您使用MyISAM表,请尝试ALTER TABLE table_name DISABLE KEYS;在加载数据和ALTER TABLE table_name ENABLE KEYS之前;数据导入完成后。这将大大减少您获取大量数据所需的时间。

加载数据比每行的单独插入语句更快。