java – 数据库中数据排序的优缺点?

前端之家收集整理的这篇文章主要介绍了java – 数据库中数据排序的优缺点?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们假设我有一个具有VARCHAR类型的表的表.而且我需要从该字段中按字母顺序获取该表中的数据.

什么是最佳方法(性能):将字段添加SQL查询中,或者在已经获取数据时对数据进行排序?

我使用Java(使用Hibernate),但我不能告诉任何有关DB引擎的事情.它可以是任何流行的关系数据库(如MySQL或MS sql Server或Oracle或Hsql DB或任何其他数据库).

表中的记录数量可能有很大差异,但假设有5k条记录.

UPD:二级休眠缓存(例如,EHCache)如何支持排序数据?

解决方法

如果该字段被索引,那么平均DB在这个任务中比Java更有效率.还要注意,如果它是纯粹的显示,通常不会一次检索所有这些行,而是检索它的一个子集,以便可以通过分页显示.您也可以在DB级别执行此操作.对Java中的数据进行排序将需要将整个表拖放到Java的内存中,您不希望这样做.

在Hibernate中,您可以使用Criteria#addOrder()分页使用Criteria#setFirstResult()Criteria#setMaxResults()订购结果.

List users = session.createCriteria(User.class)
    .addOrder(Order.asc("username"))
    .setFirstResult(0) // Index of first row to be retrieved.
    .setMaxResults(10) // Amount of rows to be retrieved.
    .list();
原文链接:https://www.f2er.com/java/122104.html

猜你在找的Java相关文章