我有一个在Laravel 4中构建的Web应用程序,我在数据库中有一个客户端表,有超过20000条记录,一切正常,但我的托管服务告诉我,我需要改进查询以检索客户端数据。我对这个问题有点困惑,我不确定有什么问题,或者我怎样才能改进我的查询。
$ data = Client :: orderBy('created_at','desc') - > paginate(50);
从具有数千条记录的表中检索数据的最佳做法是什么?
提前致谢!
答案 0 :(得分:1)
你的进步很好。
如果您对查询进行分页,则无法获得查询的所有结果。如果您有20000获取所有记录需要大量资源,并且在获得所有记录之前可能存在错误。
在您的开发环境中,您拥有大量资源,但您需要在托管服务中考虑这些情况,您的资源较少。
如果您的分页数太高,也会出现同样的情况。不要有这样的感觉
->paginate(10000)
您的分页编号必须是合理的数字。