在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP/ tp3 循環(huán)使用數(shù)組添加操作add方法導(dǎo)致內(nèi)存不斷增加

tp3 循環(huán)使用數(shù)組添加操作add方法導(dǎo)致內(nèi)存不斷增加

    G('begin');
    $model = M('test_data');
    $list = M('test_ids')->getField('id',true);
    foreach ($list as $k => $v) {
        $data = [];
        $data['params'] = $this->params;
        $temp_arr = $this->post($this->url,$data);

        $json_data = json_encode($temp_arr);
        $a_data = [];
        $a_data['json_data'] = $json_data;
        $model->add($a_data);
        unset($a_data);
        G('end');
        echo G('begin','end','m').'kb'.'<br>';

    }
    
    
    代碼運(yùn)行結(jié)果:
 
    

圖片描述

當(dāng)我把$model->add()注釋掉的時候,結(jié)果如下
圖片描述

請問為什么tp3的add方法會導(dǎo)致內(nèi)存不斷增加?

回答
編輯回答
離觴

將model放入到foreach的遍歷里面,然后unset實例化的model

G('begin');
    
    $list = M('test_ids')->getField('id',true);
    foreach ($list as $k => $v) {
        $model = M('test_data');
        $data = [];
        $data['params'] = $this->params;
        $temp_arr = $this->post($this->url,$data);

        $json_data = json_encode($temp_arr);
        $a_data = [];
        $a_data['json_data'] = $json_data;
        $model->add($a_data);
        unset($a_data);
        G('end');
        echo G('begin','end','m').'kb'.'<br>';
        unset($model);
    }
2017年2月19日 04:25
編輯回答
寫榮

循環(huán)里面的十幾次數(shù)據(jù)庫插入操作消耗的啊,還是用批量插入吧

2017年2月6日 04:07
編輯回答
茍活

這種情況還是換成SQL語句,直接插入吧。循環(huán)中應(yīng)該盡量避免SQL操作。

2017年4月2日 00:40