感谢您的关注。 我是php&MySQL的新手,有一个简单流程的项目。 在这里,我有一个问题,想知道确切的事情。 因此,当使用php中的foreach将数据添加到db中时,为提高代码性能最好的方法是什么?
这是一个例子。
第一种情况。
foreach ($data as $key=>$item){//start for each loop
$id = $item['id'];
$Name = $item['adsname'];
if (!$id || !$bingAdsName) {
continue;
}
$sql="select* from table name ";
//$dbData = ... //fetch all db data.
//And below it will compare dbdata and the above id&Name with some
condition and add to db these value.
}//end foreach loop
第二种情况
foreach ($data as $key=>$item){
$id = $item['id'];
$Name = $item['adsname'];
if (!$id || !$bingAdsName) {
continue;
}
$sql="select* from table name where id='".$id."' AND name='".$Name."'";
$existData= ...;
if(!existData){
continue;
}
$sql="INSERT INTO table name(id, name,)
VALUES ('".$id."', '".$name."'); ";
//here insert id& value into db;
}
因此,在第一种情况下,我将仅将db连接称为一个,但是它将处理二维foreach。
在第二种情况下,它将调用数据库连接$data
次。
所以我想知道什么是减少代码运行时间以提高性能的最佳方法。 谢谢。
答案 0 :(得分:0)
在我看来,您的second case
是一种效率更高的方法,因为在简单的php中整理或过滤数据会使您的应用程序运行缓慢。在这种情况下,MySQL非常强大和高效。因此,您应该在过滤数据时应用MySQL,以提高应用程序的效率。
有关更多信息,请参考this link
谢谢