mysql-使用Laravel处理大型数据库的最佳方法
作者:互联网
数据库
我正在使用具有很大表的数据库,这给我带来了问题.特别是其中一个有超过12万条线.
我在做什么
我在MakeAverage.php文件中遍历此表,以将它们合并到数据库中新表中的约1k行中.
什么不起作用
Laravel不允许我立即处理所有内容,即使我尝试使用DB :: disableQueryLog()或(例如)take(1000)限制.即使启用了我的错误报告,它也会每次给我一个空白页(有点像this).另外,我没有为此的Laravel日志文件.我不得不查看我的php_error.log(我正在使用MAMP)以意识到这实际上是一个memory_limit问题.
我做了什么
在使用ini_set(‘memory_limit’,’512M’)执行代码之前,我增加了内存量. (这是不好的做法,我应该在php.ini中这样做.)
发生了什么?
有效!但是,Laravel向我抛出了一个错误,因为由于大量数据,页面在30秒后仍未完成加载.
解决方法:
我将要做的
在这个问题上花了一些时间并看了其他有类似问题的人(请参阅:Laravel forum、19453595、18775510和12443321)之后,我认为也许PHP不是解决方案.
因为我只是根据表A的平均值创建表B,所以我认为SQL会最适合我的需求,因为对于该类型的操作,它显然比PHP快(请参见:6449072),我可以使用诸如SUM,AVERAGE,COUNT和GROUP_BY(Reference)之类的功能.
标签:laravel-4,database-performance,sql,mysql,database 来源: https://codeday.me/bug/20191030/1966442.html