我的页面是一个交易监控系统(jsp+oracle+unix)。就是浏览器每隔10秒中从数据库交易流水表中取出最新发生的200条纪录(交易流水表一般记录数不超过5万条)在页面上现实。而且这样的访问用户也不会很多,但现在发现显示速度比较慢。难道从数据库中查询纪录然后组合成HTML语句本来就是比较慢的?
如果要提高显示速度是否可以从如下几个方面做,或你有更好的方式?
1,有必要建立数据库连接池吗?
2,如何做到在原有页面上保留老的交易纪录,用最新的几条纪录来替换最老的几条交易纪录?
3,是否可以考虑在服务端开发什么组建,或则在客户端开发个什么组建来提高效率?

解决方案 »

  1.   

    我们用最简单的缓存方法。<%@ page contentType="text/html; charset=UTF-8" import="java.util.*" %><%
    Object objTime = application.getAttribute("TIME_KEY");
    long last = 0;
    if (objTime != null)
        last = ((Long)objTime).longValue();
    String resultString = null;
    Object objResult = application.getAttribute("RESULT_STRING_KEY");
    if (objResult != null)
        resultString = (String)objResult;long now = System.currentTimeMillis();
    if (objResult == null || (now - last > 10*1000)) {
        resultString = "创建新的查询结果字符串 " + now;  
        application.setAttribute("RESULT_STRING_KEY", resultString);
        application.setAttribute("TIME_KEY", new Long(now));
    }
    %><html>
    <head>
    <title>
    index
    </title>
    </head>
    <body bgcolor="#ffffff">
    <%= resultString %>
    </body>
    </html>