+ -
当前位置:首页 → 问答吧 → 9万条数据,用select*全部查询mysql数据库,数度超级慢,求解。

9万条数据,用select*全部查询mysql数据库,数度超级慢,求解。

时间:2011-10-31

来源:互联网

public List<Page> findAllPages() {
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

1.建议去MYSQL版问.
2.9万条数据,一次查出来放哪?

作者: qianjin036a   发布时间: 2011-10-31

我每次看到分不清mysql和mssql的我都觉得我穿越了

作者: geniuswjt   发布时间: 2011-10-31

id建索引

作者: xuam   发布时间: 2011-10-31

引用 1 楼 qianjin036a 的回复:

1.建议去MYSQL版问.
2.9万条数据,一次查出来放哪?

 我是没找到MYSQL区才到这里发的,不指点在那,给个连接给我吧!
 上面函数里面不是写了,放在list中呀

作者: bearshadow   发布时间: 2011-10-31

引用 3 楼 xuam 的回复:

id建索引

mysql 主键会自动建立索引的吧,我也不知道怎么建,能具体点么?

作者: bearshadow   发布时间: 2011-10-31

mysql

作者: cd731107   发布时间: 2011-10-31

论坛左边的"数据库开发"-->MYSQL/Postgresql

作者: qianjin036a   发布时间: 2011-10-31

引用 7 楼 qianjin036a 的回复:

论坛左边的"数据库开发"-->MYSQL/Postgresql

看到了,谢谢

作者: bearshadow   发布时间: 2011-10-31

你的SQL语句是什么?select * from Page page order by page.id asc ? 那在在PAGE表中添加ID索引情况如何?

作者: ACMAIN_CHM   发布时间: 2011-10-31

引用 9 楼 acmain_chm 的回复:

你的SQL语句是什么?select * from Page page order by page.id asc ? 那在在PAGE表中添加ID索引情况如何?

id 为表的主键,好像会自动建立索引,要怎么添加索引呢?能详细点讲吗?

作者: bearshadow   发布时间: 2011-10-31

如果是主键则已经有索引了。


你的SELECT语句是什么?

作者: ACMAIN_CHM   发布时间: 2011-10-31

相关阅读 更多

热门下载

更多