大家节日快乐 
希望永远都象童年那样开心..顺便讨论个小问题
 
现在我做的TOMCAT5.019+JDK1.5+MSSQL的服务器
配置是P42.0 内存为256M      
我在查询的时候报outmemory    
要从19W条记录中查询的结果记录数目才8000条  就报这个错误了有没有什方法 根据系统的可用内存 来返回查询的记录呢...?
比如说:我查询的结果是1W条 但是我现在的内存只够5000条记录...可否先将这个够用的内存分配给这个5000条记录  剩下的5000在等待...呢如果有释放 就立即将内存给剩下的5000记录...呵呵  不知道大家平时遇到这种情况是如何处理的  增加物理内存... ?
请大家说说..

解决方案 »

  1.   

    多给tomcat 分配内存,另外前台语句限制记录数
      

  2.   

    TO: xiachedan(瞎扯蛋) 
    呵呵   256M的是不够 我现在只有这么多数据
    如果我是几百W条 或者几百Y条数据  不能只靠增加内存来解决吧 TO :kingofworl(良辰美景虚度) :
    多给tomcat 分配内存,另外前台语句限制记录数
    怎么控制 能否说说
      

  3.   

    用过jpager么
    我是用这个分页的..
      

  4.   

    使用分页查询出所有的记录
        page.setTotalRows(dao.size(null));
            if (page.getTotalRows() > 0) {
                page.setCurrentPage(0);
                do {
                    try {
                        List list = dao.pagination(page.getPageSize(), page
                                .getCurrentPage(), "", null);
                        Iterator iter = list.iterator();
                        while (iter.hasNext()) {
                            SwtZjjg bean = (SwtZjjg) iter.next();
                            rowUpdate(bean);
                        }                } catch (Exception ex) {
                        ex.printStackTrace();
                        log.error(ex);
                    }
                    if (page.isHasNext())
                        page.next();
                } while ((page.isHasNext()));            // page.setCurrentPage(i);        }这是我以前分页取出记录的做法,希望能给你点帮助,哈
      

  5.   

    256的PC机当服务器?数据量还这么大?
    强烈建议加条子,如果实在不行,那只好数据库端分页了,oracle有rownum可以做,mysql就不知道了~~
      

  6.   

    "select top 50 ... from table_or_view where id not in (select top "+pagesize*(curPage-1)+" id from table_or_view)
      

  7.   

    tomcat可以指定内存使用数量的8
      

  8.   

    支持分页查询的方法,楼上的楼上的楼上的楼上的楼上写了,我就不多此一举了.你不会把8000条记录都写在JSP页面上吧!所以就只读出你需要的就行了SQL我只支MySQL的,可以用limit(从多条开始的多少条) percent(前百分之多少)
    还可以用RowSet分页.
      

  9.   

    我用jpager分的...
    你们说呢
      

  10.   


    <%@ page contentType="text/html;charset=gb2312"  errorPage=""%>
    <%@ include file="../jstl.inc"%>
    <%@ taglib uri="http://jpager.com/taglibs/page" prefix="page"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    <html>
    <head>
    <title>团队查询</title>
    <LINK href="../css/hs_body.css" type=text/css rel=stylesheet>
    </head>
    <body  marginheight="0" marginwidth="0" leftMargin=0 topMargin=0>....
    <!---以下为查询的代码-->


    <sql:query var="query_tuandui" dataSource="${database}" 
    sql="select * from  data   " > 
    </sql:query> 
    <!----结束--->
    <table valign="top"  bgcolor="#018c55" width="100%">
    <tr align="center" >
    <td   class="font1" nowrap><div align="left">显示查询结果</div></td>
    <td class="font1" nowrap><div align="left">
            单位:<c:out value="${branch_name}"/>          </div></td>
    <td class="font1" nowrap><div align="left">时间:<c:out value="${start_date}"/> </div></td>
                
    </tr>
    </table>
      <DIV id="move_x" style="OVERFLOW-X: scroll; WIDTH: 100%; TOP: 0px">
     <table align="center" width="100%" bgcolor="#008800"  border="0" cellspacing="1" cellpadding="2" leftMargin=0 topMargin=0>
            <tr width="100%" height="20" bgcolor="#cccccc" nowrap> 
            <td nowrap style=" LEFT: expression(document.getElementById('move_x').scrollLeft); POSITION: relative;border-bottom:0px;border-right:0px" >
    <div align="center"><b>序号</b></div></td>
           <td nowrap style=" LEFT: expression(document.getElementById('move_x').scrollLeft); POSITION: relative;border-bottom:0px;border-right:0px" >
    <div align="center">机构</div> </td>
    <td nowrap style=" LEFT: expression(document.getElementById('move_x').scrollLeft); POSITION: relative;border-bottom:0px;border-right:0px" >

    <div align="center">机构2</div> </td>


            </tr>  <page:pager dz="23"> 
      <c:forEach var="row" items="${query_tuandui.rows}"  varStatus="status">
      <page:item    nr="${status.count}">
    <tr  bgcolor="#FFFFFF" class="cssModuleBody" height="20" width="100%" nowrap>
    <td nowrap style=" LEFT: expression(document.getElementById('move_x').scrollLeft); POSITION: relative;border-bottom:0px;border-right:0px" >
    <div align="center">${status.count}</div>
    </td> 
      <td  nowrap style=" LEFT: expression(document.getElementById('move_x').scrollLeft); POSITION: relative;border-bottom:0px;border-right:0px" >

    <div align="center">${row.branch_no1}</div></td> 
     <td nowrap style=" LEFT: expression(document.getElementById('move_x').scrollLeft); POSITION: relative;border-bottom:0px;border-right:0px" >
    <div align="center">${row.branch_no2}</div></td> 

    </tr>
    </page:item>
     </c:forEach>
      
    </page:pager>
    </table>  
    </DIV> <table bgcolor="#018c55"  width="100%" align="center" leftMargin=0 topMargin=0>
         <tr  align="center" valign="top" class="font1"  width="100%">
              <td  align="center"  nowrap><page:bt/></td>
          </tr>
    </table>
    </body>
    </html>
      

  11.   

    你现在是8W条数据  可以加根内存  
    你到了8000W呢  内存不能解决吧   呵呵 以上是我的代码的一部分 
    想想有什么解决的 就是<!---以下为查询的代码-->


    <sql:query var="query_tuandui" dataSource="${database}" 
    sql="select * from  data   " > 
    </sql:query> 
    <!----结束--->
    查询 然后后面通过jpager分页  
    不知道这样是否合理呢?