我将xls文件更改为csv格式以写入MySql。因为当我尝试将字段从 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 个字段,但它在 1000 秒内仅保存了大约 60 个字段。
您可以重新构建代码,以便准备工作只完成一次...
$csvfile = fopen("data.csv","r");
fgetcsv($csvfile);
$ekle = $dbpdo->prepare("INSERT INTO isletmeler (sno) VALUES (?)");
while (($data = fgetcsv($csvfile))!==FALSE){
$ekle->execute([$data[0]]);
}
这减少了每次重新准备报表的需要。