数据表中的Laravel分页

问题描述 投票:0回答:2

我在Laravel中使用DataTable插件。我有一些3000条目的记录但当我加载该页面时,它会在浏览器中加载所有3000条记录,然后创建分页,这会减慢页面加载速度。

如何解决这个或正确的方法

laravel
2个回答
0
投票

使用服务器端处理。从一些Laravel套餐获得帮助。如Yajra的:https://yajrabox.com/docs/laravel-datatables/


0
投票

通常,您可以在前端,后端(服务器或数据库端)或两者的组合中解决分页问题。

没有软件包的服务器端处理意味着设置TOP / FETCH或从服务器返回数据行。你也可以加载一小部分(比如20)然后当用户滚动到列表的底部时,再加载20左右。我也提到了包含前端处理的原因,因为我不确定你的用例是什么,但我认为任何给定用户实际上需要一次看到3000行是非常罕见的。

鉴于数据表似乎具有分页数据的内置功能,我认为@tersakyan本质上是正确的 - 你想要的是某种形式的后端过滤或数据行分页,以限制发送到前端的内容。我不知道该软件包是否适合您,或者您的设置是什么样的,但是也可以直接从DataBase通过SQL返回数据(例如使用TOP / FETCH)实现分页,也可以在Controller中实现分页。或者通过跟踪数据页面和“一次加载页面”来从服务器然后进入表中来进行服务。您只需要一个唯一的键来关联特定请求的每个“页面集”。

但是对于性能,您希望避免大型数据请求和对大型数据集的操作。因此,您在应用程序的任何阶段使用它来限制获取或处理的数据的次数越多,原则上应用程序的性能就越高。

© www.soinside.com 2019 - 2024. All rights reserved.