每天我们使用以下方法将大约 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
查询输出到单个文件并执行该文件是否更快,还是 CSV 更快?
我们正在使用 InnoDB 存储引擎。