Json 使用Datatables处理Laravel中大量行的最佳方法是什么?
我在显示3000多行时遇到问题(这个数字将以指数级的速度增加)Json 使用Datatables处理Laravel中大量行的最佳方法是什么?,json,database,laravel,eloquent,laravel-query-builder,Json,Database,Laravel,Eloquent,Laravel Query Builder,我在显示3000多行时遇到问题(这个数字将以指数级的速度增加) 我目前正在从MYSQL数据库返回集合中的数据。我应该使用Laravel Elount或查询生成器来提高控制器的性能吗 如果我以JSON文件格式返回数据,这是否有助于加快速度 是否有一种方法可以添加、删除、编辑数据表中的行,而不必每次实际返回视图 如果你能提供一些有帮助的文章来解释,那就太好了。我试图找到一些东西,让我走上处理大量数据的最佳途径,但运气不佳 问候,, James当您将所有这些数据提取到后端时,我建议不要使用有说服力的模
James当您将所有这些数据提取到后端时,我建议不要使用有说服力的模型。雄辩的模型相当沉重。相反,您可以使用轻量级stdclass:
$users = DB::table('users')->get();
get方法返回一个包含结果的lightize\Support\Collection,其中每个结果都是PHP stdClass对象的实例
除此之外,你还应该考虑对结果进行分页。获取、转换和呈现大量项目列表通常会导致糟糕的用户体验
当然,您可以(也应该)告诉数据库尽可能多地进行繁重的工作。数据库设计用于处理大量数据 使用相同数据进行批量更新: 大量插入: 更灵活的批量更新/插入包: 另外,请看这个示例:这就是使用子查询中的数据更新表的方法。这是一个博士后的例子,可能不适合你的情况。我只是想让你了解星展银行的能力。如果您对原始查询感到满意,您的数据库引擎可以为您提供最高效、最灵活的工具。对于处理海量数据,它总是首选它,或者您可能需要检查它 为了在控制器中获得更好的性能,我应该使用Laravel Eloquent还是Query Builder 对于使用模型的简单查询和阅读来说,Elount更容易,因为它使用活动记录模式,而builder处理查询和复杂性的速度更快,您可能需要检查一下 如果我以JSON文件格式返回数据,这是否有助于加快速度 json或集合都由Laravel处理,不会对IMHO造成太大影响,但是如果您考虑将一些DB记录保存在缓冲区json文件中:
让我们考虑这些场景(虽然数据库总是巨大的),
这个过程是:创建一个控制器函数来查询数据库,为这样的函数创建一个路由,然后在前端通过ajax查询这个函数,您可能需要检查。您永远不需要显示超过100-200行(甚至500行也可能太多)。始终使用分页。使用索引进行快速搜索和分页显示。您应该始终通过请求传递页码(无论是AJAX还是经典HTTP POST重定向获取值)。这适用于在屏幕上显示数据,因为方法就是这样的——您永远不需要在屏幕上看到超过200个结果。