hibernate的order by和Java的Collections.sort()有什么区别? Collections.sort() 的时间复杂度是 O(nlogn),使用 orderBy 必须是 O(1)。然而,数据库处理也必须有一些开销。在无法使用 orderBy 的情况下可以使用 Collections.sort() 吗?
最佳答案
您可以使用其中任何一个。一般来说,它们都应该是O(nlogn)(因为数据库也必须应用排序算法,并且它并不比Collections中的排序算法好)。
如果可能的话,我会使用数据库的 orderBy (*),因为这样您就可以限制从数据库发送的数据量(至少在您只对匹配数据的第一部分感兴趣的情况下) .
(*) 在某些情况下,您希望实现“奇怪”的排序顺序(即“按第三个单词的第二个字母排序”),那么最好在 Java 中执行此操作,但在大多数情况下 orderBy 就足够了,因此更可取。
关于java - hibernate的orderBy和Collections.sort()的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60693928/