我从服务器获得了一些我在客户端使用GWT显示的数据。
GWT不是问题,您可以通过ajax调用替换GWT,也可以将其转换为真实应用程序而不是Web应用程序。
应该在哪里进行排序操作?在服务器上?或者在客户端上使用javascript,收到数据后再显示它们?
答案 0 :(得分:16)
每种方法都有其优点和缺点:
答案 1 :(得分:5)
理想情况下,排序应该在服务器上完成,因为: -
最好假设您的客户资源不足。例如,有些人会从桌面启动GWT应用程序,但另一些人可能会从具有较少CPU / RAM的iPad /手机启动GWT应用程序
有一些标准的方法可以在服务器端进行排序,例如,使用SQL ORDER BY子句,但您可能必须实现自己的例程/方法来在客户端进行排序。
答案 2 :(得分:3)
这取决于......:)
从架构上讲,要回答这个问题,您需要决定系统中所需的属性,并评估各种设计方案之间的权衡。如果不了解您的系统,很难提供超出此建议的建议。
答案 3 :(得分:0)
请注意一条包含所有内容的陈述,即在服务器上进行排序总是比在客户端上进行排序更快。我遇到的情况是,我要返回几千条记录,这些记录按姓氏和名字的串联排序。这些字段均未索引,我对此无能为力。众所周知,对串接的字符串进行排序并不是数据库固有的功能。它看起来是数字和/或索引字段。在这种情况下,在客户端上进行排序最终变得更快。如果我可以控制数据库,则可以在Oracle的这两个字段中放置一个函数索引。
这个故事的寓意是假设一切都没有,并配置您的应用程序,以找出最适合您的情况的
。