A-A+

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

2020年08月23日 我爱编程 暂无评论

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.      }
标签:

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录