检查那个方法的占用内存较大,批量导入。
2017-09-29 10:45
337 查看
导入数据1.5W,超内存,找原因。
注意**不要在循环里面实例化对象
找到了,果然还是代码问题。。
memory_get_usage() 去找那个地方使用内存大,做优化。
注意**不要在循环里面实例化对象
找到了,果然还是代码问题。。
$db = \Yii::$app->db; $transaction = $db->beginTransaction(); try{ $sum = count($result); foreach ($result as $index=>$row) { if($index==0){ continue; } $item = $this->$constitute($row); $sub_form[] = $item; if(($index % 200) == 0 || ($index+1) == $sum){ $connection->createCommand()->batchInsert('___', [ '_',//所有的字段 ],$sub_form)->execute(); unset($sub_form); } } $transaction->commit(); }catch (yii\db\Exception $e){ // $new = $e->getMessage(); // var_dump($new);die; $transaction->rollback(); $returnArr['status'] = false; $returnArr['info'] = '导入失败!'; return json_encode($returnArr); } 就这样算了。
相关文章推荐
- C# Winform应用程序占用内存较大解决方法整理(转)
- (转)C# Winform应用程序占用内存较大解决方法整理
- C# Winform应用程序占用内存较大解决方法整理(转)
- C# Winform应用程序占用内存较大解决方法整理
- C# Winform应用程序占用内存较大解决方法整理(转)
- C# Winform应用程序占用内存较大解决方法整理
- C# Winform应用程序占用内存较大解决方法整理(转)
- C# Winform应用程序占用内存较大解决方法整理
- C# Winform应用程序占用内存较大解决方法整理
- C# Winform应用程序占用内存较大解决方法整理(转)
- C# Winform应用程序占用内存较大解决方法整理
- C# Winform应用程序占用内存较大解决方法整理(转)
- C# Winform应用程序占用内存较大解决方法整理
- C# Winform应用程序占用内存较大解决方法整理(转)
- C# Winform应用程序占用内存较大解决方法整理(转)-- SetProcessWorkingSetSize
- C# Winform应用程序占用内存较大解决方法整理
- 内存队列批量导入日志到搜索引擎
- php实现refresh刷新页面批量导入数据的方法
- Unity3D占用内存太大的解决方法
- MSSQL占用内存过大的解决方法