首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过滤器分页排序在前端或后端

问过滤器分页排序在前端或后端
EN

Stack Overflow用户
提问于 2014-09-11 17:40:17
回答 2查看 11K关注 0票数 8

我有一个应用程序,主要显示数据库中的表数据。但这些表需要应用分页、排序、筛选。对于排序和筛选,它们需要应用于整个列表,而不仅仅是第一。页面。我脑子里有三个想法:

  • 从后端检索整个列表,然后使用javascript在前端应用分页、排序、筛选。(这条路很容易,我找到了很多libs能做到的)。
  • 在hibernate级别上进行排序、分页、过滤。)创建动态SQL以获得结果,然后使用AJAX调用呈现到前端。)
  • 在java级别上进行排序、分页、筛选。(即)从数据库中获取整个列表,然后使用Spring PagedListHolder进行分页和排序,可能是其他过滤器框架。然后再次使用AJAX调用呈现到前端。)

哪一种方式最能达到这三个数字?或者还有其他更好的方法我没想过。

谢谢你的帮助或建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-11 17:55:37

你不能说涉及了多少数据。如果是很多,那么您肯定不想到处发送,例如,不要将20 to发送到浏览器中的javascript来呈现。

通常,最好是缩小结果集,并尽可能接近数据库进行所有操作。但是,您不希望对动态SQL过于疯狂。您不希望用户能够对非索引数据造成一些巨大的查询。

我非常喜欢spring,并认为如果您能够将spring的分页功能与Repository类中的手工优化查询结合起来,那将是“最好的”。

票数 8
EN

Stack Overflow用户

发布于 2021-09-25 14:13:08

服务器端分页几乎总是会赢。而不仅仅是应用程序层的服务器端,而是通过数据库进行分页。从性能的角度来看,向数据库请求一个小的有限子集并返回这将是最优的性能。

几年前,我开发了一个应用程序,其中服务器端代码从DB中提取所有数据(大约200 k行--这在业界并不多),然后通过代码分页。渲染页面花费了30-50秒的时间。当我切换到DB分页时,它下降到1.5秒。

现在,这是服务器端分页,甚至连前端后端都没有。通过jquery (在大型数据集上)或甚至通过中等大小的数据集执行此操作意味着必须将所有内容发送到浏览器。这手术太贵了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25793827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档