ci 批量插入数据的优化算法
$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'); }
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号