时时商务社区

标题: codeigniter框架批量插入数据 [打印本页]

作者: bewin83    时间: 2018-2-14 06:01

            [U]复制代码[/U] 代码如下:
$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');
     }
            
            
您可能感兴趣的文章:
  • php之CodeIgniter学习笔记
  • codeigniter使用技巧批量插入数据实例方法分享
  • 使用Codeigniter重写insert的方法(推荐)
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2