用php中的Foreach将数据导入数据库的最佳方法是什么?

时间:2018-08-06 11:00:47

标签: php sql

感谢您的关注。 我是php&MySQL的新手,有一个简单流程的项目。 在这里,我有一个问题,想知道确切的事情。 因此,当使用php中的foreach将数据添加到db中时,为提高代码性能最好的方法是什么?

这是一个例子。

  1. 第一种情况。

    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
    
  2. 第二种情况

    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次。

所以我想知道什么是减少代码运行时间以提高性能的最佳方法。 谢谢。

1 个答案:

答案 0 :(得分:0)

在我看来,您的second case是一种效率更高的方法,因为在简单的php中整理或过滤数据会使您的应用程序运行缓慢。在这种情况下,MySQL非常强大和高效。因此,您应该在过滤数据时应用MySQL,以提高应用程序的效率。

有关更多信息,请参考this link
谢谢