Java 阵列应该在服务器端还是客户端排序

Java 阵列应该在服务器端还是客户端排序,java,node.js,architecture,software-design,Java,Node.js,Architecture,Software Design,这是一个普遍的、没有技术的问题。但如果这对不同的技术有不同的答案,请关注cassandra,因为它没有SQL DB,node.js是服务器端技术,Java是客户端技术,JSON描述对象数组 在服务器端或客户端对对象数组进行排序的最佳做法是什么?如果它与数据库相关,那么当然是服务器端,因为您可以在查询中包含带有“asc”或“desc”的“order by”frase,查询将为您排序,避免客户端排序的所有问题,以免增加android中的加载时间。鉴于客户端平台被指定为android,我会在服务器端对

这是一个普遍的、没有技术的问题。但如果这对不同的技术有不同的答案,请关注cassandra,因为它没有SQL DB,node.js是服务器端技术,Java是客户端技术,JSON描述对象数组


在服务器端或客户端对对象数组进行排序的最佳做法是什么?

如果它与数据库相关,那么当然是服务器端,因为您可以在查询中包含带有“asc”或“desc”的“order by”frase,查询将为您排序,避免客户端排序的所有问题,以免增加android中的加载时间。

鉴于客户端平台被指定为android,我会在服务器端对其进行排序,以降低客户端的性能成本。

一般的经验法则是不信任客户端

然而,我相信生活不是黑白的,而是灰色的(不一定是50种灰色,哈哈哈,别开玩笑了)。我认为这取决于数据大小和使用方式。如果数据不是动态变化的,如果数据不是太大而无法使客户端系统陷入困境,我认为在客户端这样做是可以的。特别是当用户希望根据各种标准对数据进行排序时


但是,如果数据是动态的,或者数据太大,则在服务器端进行比较安全

Java作为客户端?@SimoEndre是的,Android更具体地说,我会说“可能”-您的服务器端扩展有多好,与服务器端排序相关的性能成本有多高,以及在客户端排序的速度有多慢(客户会注意到吗)?客户端设备为您提供“免费”计算机电源,服务器端消耗您的资源。此外,对于“分页”数据集,您必须在服务器上进行排序,以确定您在哪个页面上。如果您不能信任它正确排序,则也不能信任它正确执行任何其他操作+1代表“灰色的阴影”。@AndyBrown我以前的想法差不多。但是Javascript证明了我们是错的感谢+1 Android与此无关-数据集的硬件和大小/排序条件的复杂性与此无关。这当然取决于您在Cassandra db中的数据特征和索引?@AndyBrown感谢您的评论,每个查询脚本编写者都无法管理自己,不在查询中不时包含“order by”,因此,在我心中,我自由地表达了自己的想法;)