java - hibernate的orderBy和Collections.sort()的区别

标签 java hibernate orm

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/

相关文章:

java - 如何为超过 100 个实体构建 UML?

java - 判断坐标是否在线

java - 无法确定 : java. util.Set 的类型,在表中

python - 使用 Filter 优化 Django ORM 访问

java - JasperReport串联仅打印第一个报告

java - 如何在apache Camel sql批量插入中设置autocommit false?

hibernate - 如何登录HibernateCriteriaBuilder

hibernate - spring 可以为 hibernate 添加什么?

mysql - Kohana ORM,重写 ORDER BY 和 GROUP BY 查询

java - Hibernate 删除级联对象