我有一个非常大的CSV文件(150 MB),将其导入MySQL的最佳方式是什么? 在将其插入MySQL表之前,我需要在PHP中进行一些操作。
我有一个非常大的CSV文件(150 MB),将其导入MySQL的最佳方式是什么? 在将其插入MySQL表之前,我需要在PHP中进行一些操作。
INSERT INTO targettable (x, y, z)
SELECT foo(x), bar(y), z
FROM temptable
我会使用fopen打开文件,并使用fgetcsv将每行读入数组中。伪代码如下:
mysql_connect( //connect to db);
$filehandle = fopen("/path/to/file.csv", "r");
while (($data = fgetcsv($filehandle, 1000, ",")) !== FALSE) {
// $data is an array
// do your parsing here and insert into table
}
fclose($filehandle)