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();
}请大家指点下,怎么才能使得查询数度变快呢?

解决方案 »

  1.   

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

  2.   

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

  3.   

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

  4.   

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

  5.   

    mysql
      

  6.   

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

  7.   

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

  8.   

    如果是主键则已经有索引了。
    你的SELECT语句是什么?