java - 方式(客户端或服务器端)去分页/可排序列?

标签 java web-applications pagination

我在员工表中有 3000 条记录,这些记录是我通过单个查询从数据库中获取的。我每页可以显示 20 条记录。因此将有 150 页,每页显示 20 条记录。我有两个关于分页和可排序列方法的问题:

1) 如果我实现一个没有可排序列的简单分页,我是否应该将所有 3000 条记录发送到客户端并使用 javascript 或 jquery 在客户端进行分页。因此,如果用户单击第二页,调用将不会转到服务器端并且速度会更快。 虽然我不确定在浏览器/客户端发送 3000 条或更多记录会有什么影响?那么最好的方法是什么,是一次性将所有记录发送到客户端并在那里进行排序,还是在点击页面时将调用发送到服务器端,然后只返回特定页面结果?

2) 在这种情况下,我需要提供分页以及可排序列(6 列)。所以在这里用户可以点击员工姓名或部门名称等任何列,然后名称应按升序或降序排列。 我再次想知道在时间响应/内存方面的最佳方法?

最佳答案

向您的客户端发送数据几乎肯定会成为您的瓶颈(尤其是对于移动客户端),因此您应该始终努力发送尽可能少的数据。话虽如此,在服务器端进行分页几乎肯定更好。这是一个更具可扩展性的解决方案。数据量很可能会增长,因此 future 更安全的选择是在服务器上进行分页。

另外,请记住,任何用户实际上不太可能会费心浏览数百个结果页面,因此传输所有数据也可能是一种浪费。 This可能是适合您的相关读物。

关于java - 方式(客户端或服务器端)去分页/可排序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9962557/

相关文章:

angular - 如何根据 Angular 用户角色/权限管理菜单

html - 如何在两个 div 元素上使用分页,一次只能看到一个元素

java - : "Publishing to WAS 8559 ..." 期间发生内部错误

java - Hadoop处理WARC文件

reactjs - 如果需要 beta beta 功能,则将 Beta 版本的 Material-UI 用于包含大量内容的长期 React Web 应用程序

api - 为什么大多数 API 分页不依赖 HTTP Range header ?

java - jsp中如何对从数据库获取的数据添加分页

java - 将图片放在 JScrollPane 和 JTable 的背景中

java - frame.setResizable(false) 不起作用!它改变窗口大小而不是保持尺寸

web-applications - Node.js:可用/创建 Web 代理