9万条数据,用select*全部查询mysql数据库,数度超级慢,求解。
时间:2011-10-31
来源:互联网
String hql = "from Page page order by page.id asc";
return (List<Page>) this.getHibernateTemplate().find(hql);
}
起初是调用这个方法,由于数据量太大,总是抛出内存不足的异常,后来改用分页处理的方法,但是越运行到后面,速度就越慢,差不多要10s才运行一条语句
public List<Page> findPagesLimit(int x, int y) {
if (y == 0) {
return null;
}
Session session = this.getSession();
try {
String hql = "from Page page order by page.id asc";
Query q = session.createQuery(hql);
q.setFirstResult(x);
q.setMaxResults(y);
List l = q.list();
if (l.size() == 0) {
return null;
}
return (List<Page>) l;
} catch (RuntimeException re) {
throw re;
} finally {
session.close();
}
请大家指点下,怎么才能使得查询数度变快呢?
作者: bearshadow 发布时间: 2011-10-31
难道楼主的主机是“银河处理器”
作者: ylovep 发布时间: 2011-10-31
如果直接运行快的话,就不用hibernate了呗
作者: xinlingwuyu 发布时间: 2011-10-31
public List<Page> findAllPages() {
String hql = "from Page page order by page.id asc";
return (List<Page>) this.getHibernateTemplate().find(hql);
}
起初是调用这个方法,由于数据量太大,总是抛出内存不足的异常,后来改用分页处理的方法,但是越运行到……
后面是采用 分页的方法呀,可是也很忙啊
作者: bearshadow 发布时间: 2011-10-31
直接运行SQL语句,是什么样的效果?
如果直接运行快的话,就不用hibernate了呗
我的系统里面都是用hibernate来管理数据库的,又换成直接的,直接的是指用jdbc?这样不方便管理吧
作者: bearshadow 发布时间: 2011-10-31
作者: mrwangxiao0605 发布时间: 2011-10-31
采用分页吧,先一次性查出前两百条数据,分为20页,当用户要再点击查看21页后面的数据时,要那一页的数据就去数据库查对应的数据。这是一种折中的策略、
是采用分页的方法了,起初运行的很快,可是数据从10000条后获取1000就非常的慢了!困恼
作者: bearshadow 发布时间: 2011-10-31
作者: wusi19910719 发布时间: 2011-10-31
hibernate先试着用数据库的分页方法,如果没有则采用记录滚动的方法。
另外,你可以把数据库的分页语句 到sql的控制台上试试,我怀疑是表的外键什么的。
作者: AFer198215 发布时间: 2011-10-31
Sql 语句的话 带上 limit 做限制 格式为 0,10; //从0开始取10条
作者: nizhicheng 发布时间: 2011-10-31
作者: hanjiaming 发布时间: 2011-10-31
2. 有可能你电脑配置太烂,自身硬件问题
3. 实在不行,就用jdbc进行sql分页,不用hibernate的分页,用mysql的limit
作者: kouyiSC 发布时间: 2011-10-31
这个HQL语句里你改成
select 你要的字段1,字段2,。。。,字段n from Page page order by page.id asc
试试。
作者: zhuchao_ko 发布时间: 2011-10-31
你电脑机子不行了吧? 我电脑几百万条数据查询都比你快啊
你用的是什么查询方法?
作者: bearshadow 发布时间: 2011-10-31
第二不知道楼住用的是什么分页方法,如果纯考虑性能的话最好采用物理分页,即采用定位串技术定位数据位置,每次查询直接取需要的那一页数据.如果是逻辑分页的话那系统也是将数据都读取到内存在进行分页的,那么你越往后查它读取的数据越多当然越来越慢了!
作者: LW1981 发布时间: 2011-10-31
作者: jc8futao 发布时间: 2011-10-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28