首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

网站首页优化有关问题

2012-08-09 
网站首页优化问题?问题是这样的,网站首页需要显示一些记录,感觉速度有些慢,查询出6条数据,以list形式存到s

网站首页优化问题?
问题是这样的,网站首页需要显示一些记录,感觉速度有些慢,
查询出6条数据,以list形式存到session里,jsp获取session里的list,将6条数据取出来
显示到页面上,

下面是代码,是否有问题?还能怎么优化下。。。。可以给点建议吗


jsp页面:

HTML code
List listGg=(ArrayList)request.getAttribute("listGg");


action层:
Java code
     String hql2="from News order by operateDate desc ";        List listGg=dao.find(hql2, 0, 6);        request.setAttribute("listGg", listGg);


dao层:

Java code
public List find(String hql, int offset, int size)            throws HibernateException {        Session session = (Session) HibernateBase.getCurrentSession();        Transaction transaction = null;        try {            transaction = HibernateBase.getTransaction(session);            Query query = session.createQuery(hql);            query.setFirstResult(offset);            query.setMaxResults(size);            List results = query.list();            transaction.commit();            return results;        } catch (HibernateException he) {            if (transaction != null) {                transaction.rollback();                HibernateBase.closeTransaction();            }            HibernateBase.closeSession();            throw he;        } finally {            HibernateBase.closeTransaction();            HibernateBase.closeSession();        }    }


[解决办法]
你在执行SQL语句前后加上开始时间和结束时间,在Transaction加上时间,看看到底是取数据慢还是在客户端展现的问题。
[解决办法]
只是查询把你的事务去掉吧,开启事务关闭事务都是消耗时间的
如果你的首页就只有显示这6条数据的话,速度还是慢的话,那个基本上可以肯定是查询速度的问题,是不是你这个表中数据非常多,而索引又没建好,你可以看看operateDate有没有索引,建个索引看看
[解决办法]
首页的内容条目获取可以直接用对象看来获取,这个对象的某个方法返回一个list,在jsp页面中接收这个list再遍历出来就行了!
[解决办法]
有个问题,为什么只取六行,就会有效率问题?要不就是你的表超级大,且没有用到索引。
按理说只取六行都很慢的话,那没办法再往下弄了。

如果是往session里放东西,也不致于慢。不知道楼主这个网站是不是哪出问题了?

热点排行