应该在哪里进行数据排序?服务器或客户端?

Jer*_*nce 16 javascript architecture sorting ajax gwt

我从服务器获得了一些我在客户端使用GWT显示的数据.

GWT不是问题,您可以通过ajax调用替换GWT,也可以将其转换为真实的应用程序而不是Web应用程序.

应该在哪里进行排序?在服务器上?或者在客户端上使用javascript,收到数据后再显示它们?

Chr*_*her 19

每种方法都有其优点和缺点:

  • 如果你需要分页,并且不想将整个数据下载到客户端,那么你必须在服务器上执行排序(否则客户端只能对它当前拥有的行进行排序,这会导致错误的结果,如果你按不同的列重新排序)
  • 在服务器上排序更快(如:您可以排序更多行/秒),但如果您必须同时提供10000个客户端,这可能很容易反转.
  • 在客户端上排序时,您可以重新排序而无需再次下载数据.

  • 是的,如果用户无法重新排序,那么我通常会在服务器上预先排序. (2认同)

Anu*_*oop 6

理想情况下,排序应该在服务器上完成,因为: -

  1. 最好假设您的客户资源不足.例如,有些人会从桌面启动GWT应用程序,但另一些人可能会从具有较少CPU/RAM的iPad /手机启动GWT应用程序

  2. 有一些标准的方法可以在服务器端进行排序,例如,使用SQL ORDER BY子句,但您可能必须实现自己的例程/方法来在客户端进行排序.

  • 好吧,即使在最慢的客户端上,在客户端上排序例如100行也非常快.发送另一个请求的资源使用率是*x*倍. (2认同)