java – 数据库中数据排序的优缺点?
发布时间:2020-12-14 05:34:48 所属栏目:Java 来源:网络整理
导读:我们假设我有一个具有VARCHAR类型的表的表.而且我需要从该字段中按字母顺序获取该表中的数据. 什么是最佳方法(性能):将字段添加到SQL查询中,或者在已经获取数据时对数据进行排序? 我使用Java(使用Hibernate),但我不能告诉任何有关DB引擎的事情.它可以是任
我们假设我有一个具有VARCHAR类型的表的表.而且我需要从该字段中按字母顺序获取该表中的数据.
什么是最佳方法(性能):将字段添加到SQL查询中,或者在已经获取数据时对数据进行排序? 我使用Java(使用Hibernate),但我不能告诉任何有关DB引擎的事情.它可以是任何流行的关系数据库(如MySQL或MS Sql Server或Oracle或HSQL DB或任何其他数据库). 表中的记录数量可能有很大差异,但假设有5k条记录. UPD:二级休眠缓存(例如,EHCache)如何支持排序数据? 解决方法
如果该字段被索引,那么平均DB在这个任务中比Java更有效率.还要注意,如果它是纯粹的显示,通常不会一次检索所有这些行,而是检索它的一个子集,以便可以通过分页显示.您也可以在DB级别执行此操作.对Java中的数据进行排序将需要将整个表拖放到Java的内存中,您不希望这样做.
在Hibernate中,您可以使用 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(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |