【问题标题】:Is it better to paginate on the server side or front end? [closed]在服务器端或前端分页更好吗? [关闭]
【发布时间】:2019-02-02 13:03:20
【问题描述】:

我正在构建 Laravel + Vue 应用程序,我想知道在后端还是前端使用分页更好?我认为最好每页发送尽可能少的数据请求,但我想听听你们的 cmets。

【问题讨论】:

  • 如果你有 1000 万条记录,如果你通过任何品牌浏览器(前端)进行分页,你认为会发生什么?你应该问你的同事,而不是街上随便找的人。 (在大多数情况下,您的问题的答案是后端。)

标签: laravel vue.js


【解决方案1】:

这是一个权衡,每个人都有自己的优点和缺点。

对于服务器端分页:

  1. 您的请求时间和数据都减少了,因为服务器只会发送选定的行数。
  2. 浏览器需要更少的内存,因此可以更快地处理过滤器、映射、减少等(仅适用于一页)

对于客户端分页:

  1. 由于所有数据都存在于客户端计算机上,因此用户可以轻松地来回切换。
  2. 可以对整个数据进行过滤、搜索、映射、缩减。
  3. 服务器收到的请求很少,因为搜索、过滤等需要额外的请求和对服务器的多次迭代。

所以根据你的具体要求来选择。

更新 - 示例

例如,在 90% 的情况下,两全其美的工作效率更高-

加载最相关的数据并在浏览器上分页。比如一个会计年度的发票。但是为此,您需要使应用程序的设计更加复杂,例如在我的示例中添加切换会计年度的功能。但是这个发票和会计年度示例中的用例大部分时间是用户需要一个会计年度的数据,然后像按客户过滤一样处理它;按日期等排序,因此在这里后端根据会计年度过滤数据并发送到客户端浏览器。浏览器可以根据用户的操作对有限的数据进行快速排序、过滤。分页表中只显示了 10 行。

“识别用例”是这里的要点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多