hibernate hibernate 查询,分页的时候,只需十条记录,但是需要总记录的数量,这个总记录数量是使用Query.list.size,还是单独去数据库再查一遍(如count(*) from ...)。有人说用Query.list.size会取出所有的记录 放进 list,再统计数量,而用count(*)则会在数据库里边就统计好了。请问哪种方式好? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Query.list.size,这个好,因为和数据库频繁交互,会导致效率较低! 我也觉得Query.list.size这种方法好。 Query.list.size 一样也要从数据库啊查吧反正我是 用的count select count 应该不会影响太大的 楼上几位兄弟说Query.list.size好,你不就一个统计吗?用count不知道提高多少倍的性能,你只要十条记录,又不是所有记录,如果你有1亿一条记录,那你也把所有记录查出来,然后从数据库传输到客户端啊!很占带宽的,而且查询数据库很耗时间,count的速度非常快,为何不用 这么说来,count 应该比较好 比如 query.setFirstResult(start);query.setMaxResults(limit) 会访问所有的记录吗,还是只访问 Start至start+limit 条记录? 其实,在hibernate.cfg.xml配置的session-factory中,设置一个show_sql的属性为true:<property name="show_sql">true</property>这样就可以在后台看见hibernate执行的sql语句,就可以明白hibernate是怎样工作的了,自己去找一下答案吧。 java游戏 引文内部资源包的问题 jdbc得到连接synchronized 【线程】大家来看看如何加锁? 未结束的字符串字面值 关于Cannot assign requested address:jvm_bind的错误 请高手帮忙,Java时间控制,急急急!!! JAVA如何使用获得和应用UNIX的路径 请各位指教下~ 在线等 java 求swt 遍历 Tree的例子 一个想不通的问题,求助,在线等 JAVA怎么抓取 window.open 打开的网页内容 这道题该怎么写啊,我写了一点就卡住了
反正我是 用的count select count 应该不会影响太大的
<property name="show_sql">true</property>
这样就可以在后台看见hibernate执行的sql语句,就可以明白hibernate是怎样工作的了,自己去找一下答案吧。