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

M S*_*ach 11 java pagination web-applications

我在一个员工表中有3000条记录,我用一个查询从数据库中获取了这些记录.我每页可以显示20条记录.所以每页有150页,显示20条记录.关于分页和可排序列方法,我有两个问题:

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

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

Ole*_*ksi 7

向您的客户端发送数据几乎肯定是您的瓶颈(特别是对于移动客户端),因此您应该始终尽可能少地发送数据.话虽如此,在服务器端进行分页几乎肯定更好.这是一个更具伸缩性的解决方案.数据量可能会增长,所以对于将来在服务器上进行分页是一个更安全的选择.

此外,请记住,任何用户实际上都不太可能费心查看数百个结果页面,因此传输所有数据也可能是浪费.可能是您的相关阅读.

  • 任何用户都不太可能真正查看3000条记录.你是对的,客户端只在第一次请求时才会很慢,但是很容易这么慢,以至于阻止用户访问你的网站.由于这个等待时间很长,因此应用程序的整体响应能力会更差.对于用户而言,一个较大的等待时间可能比几个较小的等待时间更加明显.如果要传输小块数据,用户可能甚至看不到性能损失,但他们几乎肯定会在开始时注意到大量数据传输. (3认同)