加入收藏 | 设为首页 | 会员中心 | 我要投稿 黔东南站长网 (https://www.0855zz.com.cn/)- 混合云存储、建站、网络、云计算、应用安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

codeigniter使用技巧批量插入数据实例方法分享

发布时间:2022-07-02 10:30:10 所属栏目:PHP教程 来源:互联网
导读:CI批量插入数据,CodeIgniter是一个小巧但功能强大的 PHP 框架,作为一个简单而优雅的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。 $sub_form = array(); $loop = 0; $ins_loop = 0; $sum = count($form_datas); $this-logger-info(insert dat
  CI批量插入数据,CodeIgniter是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。
 
  $sub_form = array();
    $loop = 0;
    $ins_loop = 0;
    $sum = count($form_datas);
    $this->logger->info('insert data total:'.$sum);
    //使用事物批量导入有助于提高插入效率
    $callStartTime = microtime(true);
    $this->db->trans_start();
    foreach ( $form_datas as $item ) {
           $loop ++;
           $sub_form[] = $item;
           if(($loop % 200) == 0 || $loop == $sum){
            $this->logger->info('insert data num:'.$loop);
      $res = $this->kb_object_instance_mdl->insert_batch($sub_form,$obj_id);
      $ins_loop ++;
      unset($sub_form);
      if(($ins_loop % 5) == 0){
       $this->logger->info('insert data trans_complete ins_loop:'.$ins_loop);
             $this->db->trans_complete();
             if($loop != $sum){
              $this->db->trans_start();
             }
      }
           }
    }
    //$this->db->trans_complete();
    $callEndTime = microtime(true);
    $callTime = $callEndTime - $callStartTime;
    $this->logger->info('insert data use time:'.sprintf('%.4f',$callTime));
       if($this->db->trans_status() === TRUE){
        $this->_show_msg('1',array('data'=>'import ok'));
       }else{
        $this->_show_error('saveOrUpdate error');
       } 

(编辑:黔东南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读