【发布时间】:2012-03-14 19:34:37
【问题描述】:
我正在将 csv 文件内容上传到 mysql 数据库。 我不确定哪种方法最好、最有效、更好。
1] 使用 LOAD DATA INFILE SQL 语句
LOAD DATA LOCAL INFILE '/importfile.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, filed2, field3);
2] 使用脚本解析和导入文件 例如php 中的 fgetcsv() 函数
【问题讨论】:
-
唯一可以确定的方法是对两者进行基准测试。但我的钱肯定是在
LOAD DATA LOCAL INFILE上,因为速度和易用性。 -
使用
fgetcsv(),您要么需要调用多个INSERT语句,要么编写一堆代码来构建一个带有VALUES (),(),(),(),()...链的很长的INSERT语句。在 MySQL 中导入原生 CSV 会容易得多。