当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2020-08-23 12:35:29 浏览: 评论:0 

CI批量插入数据,CodeIgniter是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。

  1. $sub_form = array(); 
  2.   $loop = 0; 
  3.   $ins_loop = 0; 
  4.   $sum = count($form_datas); 
  5.   $this->logger->info('insert data total:'.$sum); 
  6.   //使用事物批量导入有助于提高插入效率 
  7.   $callStartTime = microtime(true); 
  8.   $this->db->trans_start(); 
  9.   foreach ( $form_datas as $item ) { 
  10.          $loop ++; 
  11.          $sub_form[] = $item
  12.          if(($loop % 200) == 0 || $loop == $sum){ 
  13.           $this->logger->info('insert data num:'.$loop); 
  14.     $res = $this->kb_object_instance_mdl->insert_batch($sub_form,$obj_id); 
  15.     $ins_loop ++; 
  16.     unset($sub_form); 
  17.     if(($ins_loop % 5) == 0){ 
  18.      $this->logger->info('insert data trans_complete ins_loop:'.$ins_loop); 
  19.            $this->db->trans_complete(); 
  20.            if($loop != $sum){ 
  21.             $this->db->trans_start(); 
  22.            } 
  23.     } 
  24.          } 
  25.   } 
  26.   //$this->db->trans_complete(); 
  27.   $callEndTime = microtime(true); 
  28.   $callTime = $callEndTime - $callStartTime
  29.   $this->logger->info('insert data use time:'.sprintf('%.4f',$callTime)); 
  30.      if($this->db->trans_status() === TRUE){ 
  31.       $this->_show_msg('1',array('data'=>'import ok')); 
  32.      }else
  33.       $this->_show_error('saveOrUpdate error'); 
  34.      } 

Tags: codeigniter

分享到: