更快或并行地将csv文件加载到mysql中

时间:2017-07-26 14:16:15

标签: mysql bash centos centos7

我有一个mysql表,其中包含一个主auto_increment键。

我有500个csv文件,每个文件大约有3GB的数据,大部分数据都在一列中。

目前我正在使用以下方法将文件加载到mysql中:

#!/bin/bash
for file in /files/*.csv
do
    mysql -e "load data local infile '$f' into table myTable FIELDS TERMINATED BY ',' 
    ENCLOSED BY '\"' escaped by '\"' IGNORE 1 LINES"  -u user -ppass
done

有什么方法可以提高性能吗?也许在插入时删除主键然后再添加它?或者有没有一种方法可以并行插入而不是一次插入一个文件?

1 个答案:

答案 0 :(得分:0)

从5.0.17版开始的新MySQL Shell具有用于CSV,TSV和JSON文件的并行批量加载器。