为巨大的文件加载数据infile(没有警告,没有错误,没有受影响的行)

时间:2012-05-19 05:24:44

标签: mysql csv file-io

我尝试了以下脚本:

LOAD DATA LOCAL INFILE 'myfile.csv'
    REPLACE INTO TABLE `mydb`.`mytable`
    CHARACTER SET latin1 FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'
    LINES TERMINATED BY '\r\n'
    IGNORE 1 LINES (`field1`, `field1`, `field1`, `field1`, `field1`, `field1`);

当我使用500K记录的文件时,它可以工作,但当我尝试400万条记录的csv文件时,它会返回:

Query OK, 0 rows affected (2.79 sec) 
Records: 0  Deleted: 0  Skipped: 0  Warnings: 0

当然,在2.70秒内不会添加任何内容!

我的RAM是4GB而我的输入文件(大文件)是370MB。

有人可以建议解决方案吗?

1 个答案:

答案 0 :(得分:5)

大文件中的行结尾可能不是' \ r \ n'。

LINES TERMINATED BY '\r\n'格式更改为'\n'