Statement stmt = dbConn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery(querysqls);
rs.last();
intRow=rs.getRow();
intRow就是数据总数,不知道这样会不会快些,我没试过。

解决方案 »

  1.   

    http://techdoc.c-bizz.klopotek.de/classes12-O9i/oracle/sql/ArrayDescriptor.html#CACHE_ALL
      

  2.   

    count(*)结果放到session中也可以
      

  3.   

    count(*)结果放到session中也可以
      

  4.   

    分页显示需要。所以要一次查那么多。
    这个问题,我目前也没有好办法。
    对于楼上的只查一次,然后放入session的做法,是最不可取的。
    因为会有多人操作数据,查阅数据。
    当你存入session后,别人可能这个时候又添加了一些数据,那么你的数据统计就不准确了。
      

  5.   

    以ResultSet的效率 30还是影响不是很大吧
      

  6.   

    count(*) 应该是最快的!
    你只有优化你的数据库了或服务器配置!我这边130万的记录只要用0.7秒!否则你就只有建一个缓冲机制了!
      

  7.   

    select * from  (select rowno,t.* from test t where rowno<count) where rowno>50rowno的正确写法我也记不清了
      

  8.   

    select 字段 from ( select rownum as row_num ,字段 from 表 + where 条件)  where row_num between "+start_page+" and "+end_page;