hibernate(jpa)获取记录总数?

jerry2012 发布于 2015/04/12 22:26
阅读 2K+
收藏 0

1. 各位大侠,数据库中比如有1W条数据,需求是前端只需显示最新的10条,和一个总记录数,为了使效率相对最优,我该怎么查询。

以下是我想到的方案:

    1. 用一个方法,根据时间排序查询全部,遍历前面10条, 再用list.size()获取总数;

    2. 用两个方法,方法一:分页查询,每页刚好查询10条,方法二:获取总数,select count(*) from XXX;

加载中
0
徐舟
徐舟
第一种方法快捷。第二种方法要查询两次数据库
0
aoyanfeng
aoyanfeng
当你有10W数据,当你有100W数据,当你有1000W数据。
0
我已经报警了
我已经报警了

。。第一种方法简直神经病

明明只要10条数据,你去把十万条都查询一遍?


jerry2012
jerry2012
第二种方法呢
0
GITTODO
GITTODO
count(列名),不要用*
fredfeng
fredfeng
现在的数据库都对count(*)做过优化了,效率最高的是count(*)。 认为count(列名)比count(*)效率高的,都是老古董思想了吧。
jerry2012
jerry2012
蒽蒽,对的
0
wangaowell
wangaowell
个人推荐第二种,count(列名)。
0
康州牧码人
康州牧码人

我的方式类似方法2

1.按照时间倒叙,选top10,返回一个list

2.select count(列名)拿总数,返回一个int

3.封装到一个分页bean里面

返回顶部
顶部