服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - codeigniter使用技巧批量插入数据实例方法分享

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

2020-06-03 12:28PHP教程网 PHP教程

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');
     }

 

延伸 · 阅读

精彩推荐