我有一个包含26,000行的csv文件,我循环遍历行并在包含250,000多条记录的表中更新记录(有时是多个)。此刻,它花了很多年!我想知道是否有另一种方法可以更快地完成这项工作(在代码或mysql / etc中)
$row = 1;
if (($handle = fopen("zip-codes-database-DELUXE-BUSINESS2.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($row> 1){
# GET THE AREACODE FROM data 20
# name is: 21
$insert = "UPDATE ".TBLPREFIX."cities SET data = '".escape(serialize($data))."' WHERE area_code = ".$data[20]." AND title = '".trim(strtoupper($data[21]))."'";
mysql_query($insert) or die(mysql_error());
}
$row++;
}
fclose($handle);
}
答案 0 :(得分:3)
基于什么,我可能会尝试:
好像它会更快..如果有点kludgy。