数据库
首页 > 数据库> > mysql-使用Laravel处理大型数据库的最佳方法

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 forum194535951877551012443321)之后,我认为也许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