我正在编写一个 PHP 脚本来从网络上抓取数据。最终结果是,我希望将所有抓取的数据存储在 mysql 数据库中并很好地格式化。
但是由于在 PHP 脚本中有多个循环和数组要迭代,我的直觉是为了速度和效率,最好不要保持对 mysql 数据库的循环访问(每次插入数据) -围绕循环)——取而代之的是,将数据存储在 PHP 中的临时数组中,然后仅在脚本末尾,将数组一次性转储到 mysql 中。
你说呢?
最佳答案
您可以使用 Insert into values("1","2","3"),("3","5,"5")
在 foreach 中,您可以创建一个值数组,在 forloop 之外,您可以内爆并插入到 mysql 中。
比方说,
$values = array();
foreach($yourData as $eachData){
// prepare your values here.
$values[] = "('1','2',3')";
}
// out of forloop,
$values = implode(",",$values);
$query = " insert into `tablename` (field1,field2,field2) values {$values} " ;
干杯
关于php - 当遍历循环时,在循环内访问 MySQL 的效率是高还是低?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560795/