MySQL Hibernate分页效率问题 80

4万多条数据,分页,每页取20条数据。用的MySQL+Hibernate。每翻一页居然要两三秒!!!其中有where子句,发现满足条件的总结果数越多,翻页越慢。非常想知道... 4万多条数据,分页,每页取20条数据。用的MySQL+Hibernate。
每翻一页居然要两三秒!!!其中有where子句,发现满足条件的总结果数越多,翻页越慢。
非常想知道怎样提速。
服务器1G内存 AMD4000+, 这个规模的数据,达到多少秒算正常。
代码如下:http://code.google.com/p/virtual-judge/source/browse/trunk/judge/src/judge/action/ProblemAction.java?r=95#309
展开
 我来答
nanjiang_
2010-12-27 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:75
采纳率:0%
帮助的人:59.5万
展开全部
分页一般都是后台分页,是在sql级别的分页,不管符合条件的记录数有多少,每次取出的记录数做多是每页的数据,即20条
每次查询需要操作两次数据库,一次取得记录数目,一次取得记录

看了你的代码,其中有两个方法
baseService.count 和 baseService.list 应该分别是计算数目和取记录的
不清楚方法如何实现,建议你从这两个方法实现入手优化
其中baseService.count 在listProblem方法中执行了两次,可以优化为一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
java_function
2010-12-28 · 超过26用户采纳过TA的回答
知道答主
回答量:144
采纳率:0%
帮助的人:90.7万
展开全部
如果只是单纯的提高效率,那么你可以用limit关键字,这是mysql自身一个关键字,这可以提高效率,毕竟数据库去给我们做分页,比我们自己代码实现分页快的多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxs647
2010-12-19 · 超过23用户采纳过TA的回答
知道答主
回答量:191
采纳率:0%
帮助的人:69.1万
展开全部
对指定的字段创建索引、、、、
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式