在迭代循环时,在循环中访问MySQL的效率是否更高/更低?

Col*_*ice 1 php mysql loops web-scraping

我正在编写一个PHP脚本来从Web上抓取数据.最终结果,我想把所有被抓取的数据隐藏起来并在mysql数据库中很好地格式化.

但是由于在PHP脚本中有多个循环和数组要迭代,我的直觉是,为了提高速度和效率,最好不要保持对mysql数据库的循环访问(在每次复制时插入数据) - 循环) - 相反,将数据存储在PHP中的临时数组中,然后仅在脚本的末尾,将数组一次性转储到mysql中.

你说什么?

Jay*_*ave 5

你可以使用插入值("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} " ;
Run Code Online (Sandbox Code Playgroud)

干杯