php - 当遍历循环时,在循环内访问 MySQL 的效率是高还是低?

标签 php mysql loops web-scraping

我正在编写一个 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/

相关文章:

PHP Hit Counter...我可以将 SESSION 转换为 COOKIE 吗?

PHP 多个复选框

mysql - 在 MySQL 中使用带有 NULL 字段的 UNIQUE 索引?

c - 在 C 中使用 do while 循环时遇到问题

php - 我的 php 测验应用程序在插入问题时无法正常工作

mysql - 如何处理数百万个单独的插入查询

mysql - phpmyadmin 自动表更新器

php - 如何对输出进行分类

java - 如何遍历数组并检查重复项?

php - 为 phpmyadmin 设置登录启用