您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

codeigniter框架批量插入数据

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 本文介绍codeigniter框架批量插入数据的实例,优化了其中的插入算法,大家参考使用吧

  代码如下: $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');      }