用hibernate的order by和Java的Collections.sort()有什么区别?Collections.sort()的时间复杂度为O(nlogn),使用orderBy的时间复杂度必须为O(1)。但是,数据库处理也必须有一些开销。在无法使用orderBy的情况下可以使用Collections.sort()吗?
问题来源:Stack Overflow
您可以使用任何一个。通常,它们都应为O(nlogn)(因为数据库还必须应用排序算法,并且它不比Collections中的排序算法好)。
我将尽可能使用数据库的orderBy(*),因为这样您就可以限制从数据库发送的数据量(至少在您只对匹配数据的第一部分感兴趣的情况下)。
(*)在某些情况下,您希望实现“奇怪的”排序顺序(即“按第三个单词的第二个字母进行排序”),那么最好在Java中执行,但是在大多数情况下,orderBy足够,因此是可取的。
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。