浏览 213 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-07-23
public static int getCount(Query query)
if(query==null)
{
return 0;
}
ScrollableResults rs=query.scroll(ScrollMode.SCROLL_INSENSITIVE);
rs.last();
return (rs.getRowNumber()+1);
上面代码是我在做分页时取得结果集总行数,但我在此论坛上看到很多人都是用 select count(*) from table_name where ..... 去取得的,是不是我这样写有效率问题,还是没人发觉有这样的写法?请告知。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-23
肯定有关效率。
select count(*) 只负责返回一个值,而你的query可能是一个复杂的sql语句。返回若干条记录。采用哪个好比较明显。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-23
为什么不直接用query.list().size
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-23
楼上的用法很诡异。所有记录都被你取出来了!!
|
|
| 返回顶楼 | |




