开发者社区> 问答> 正文

Hibernate的orderBy与Collections.sort()之间的区别

用hibernate的order by和Java的Collections.sort()有什么区别?Collections.sort()的时间复杂度为O(nlogn),使用orderBy的时间复杂度必须为O(1)。但是,数据库处理也必须有一些开销。在无法使用orderBy的情况下可以使用Collections.sort()吗?

问题来源:Stack Overflow

展开
收起
montos 2020-03-24 13:04:23 490 0
1 条回答
写回答
取消 提交回答
  • 您可以使用任何一个。通常,它们都应为O(nlogn)(因为数据库还必须应用排序算法,并且它不比Collections中的排序算法好)。

    我将尽可能使用数据库的orderBy(*),因为这样您就可以限制从数据库发送的数据量(至少在您只对匹配数据的第一部分感兴趣的情况下)。

    (*)在某些情况下,您希望实现“奇怪的”排序顺序(即“按第三个单词的第二个字母进行排序”),那么最好在Java中执行,但是在大多数情况下,orderBy足够,因此是可取的。

    回答来源:Stack Overflow

    2020-03-24 13:04:37
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载