codeigniter使用技巧批量插入数据实例方法分享
发布时间:2020-12-12 19:59:59 所属栏目:PHP教程 来源:网络整理
导读:代码如下: $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 (
代码如下: $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'); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |