我使用的是laravel 9和PHP 8,即使我在某个页面中有0个查询,我也会获得25mb的内存使用量,对于其他有查询的页面,内存使用量会达到26mb,这对于没有数据来说是很大的。我尝试的解决方案如下:
1-AppServiceProvider我添加了这个模型:preventLazyLoading(!app((->isProduction(((并且我去掉了所有n+1函数。
2-我缩小了图像大小甚至有没有图像的页面,它也有同样的问题。
3-我使用分页来列出数据。
4-我只调用我需要的数据。
以下是我在发帖前检查的一些解决方案:
减少Laravel 中数据库对象的内存使用
如何在Laravel中查看内存使用情况?
https://omarbarbosa.com/posts/optimization-of-eloquent-queries-to-reduce-memory-usage
以及一些使用完全相同步骤的youtube视频。
什么都不管用我不知道到底是什么问题。如果有任何帮助,我将使用Debugbar检查内存使用情况和查询。
如果使用Eloquent ORM,会有很多内存使用差异。我建议使用原始查询和存储库模式。