为了写入MySql,我将xls文件更改为csv格式。因为当我试图将字段从xls文件保存到MySQL时,我得到了60秒的超时错误。现在,当我编写echo代码时,我可以在5秒内获得所有数据。但当我尝试将其保存到MySQL时,60秒是不够的。下面是我的代码:
$csvfile = fopen("data.csv","r");
fgetcsv($csvfile);
while (($data = fgetcsv($csvfile))!==FALSE){
$ekle = $dbpdo->prepare("INSERT INTO isletmeler (sno) VALUES ('".$data[0]."')");
$ekle->execute();
}如何加快将数据保存到MySql的速度?我在csv中有29列,但我尝试只保存1列,看看它是否保存了我的所有数据。我在csv中有大约2700个字段,但它只在60秒内保存了大约1000个字段。
发布于 2018-03-06 03:19:47
您可以重新构造代码,以便只准备一次……
$csvfile = fopen("data.csv","r");
fgetcsv($csvfile);
$ekle = $dbpdo->prepare("INSERT INTO isletmeler (sno) VALUES (?)");
while (($data = fgetcsv($csvfile))!==FALSE){
$ekle->execute([$data[0]]);
}这减少了每次重新准备语句的需要。
https://stackoverflow.com/questions/49117748
复制相似问题