论坛首页 入门技术论坛

最新+最简单Oracle分页查询法

浏览 7231 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-02   最后修改:2009-11-02
chensunhao 写道
一般都是第二种,效率要高些

别误导新人,在百万级数据查询,第二种会等死人,比第一种慢差不多10倍
0 请登录后投票
   发表时间:2009-12-07  
误导别人,很明显第一种的好。
0 请登录后投票
   发表时间:2009-12-07  
/**
	 * Oracle 分页sql语句生成方法
	 * @param sql sql语句
	 * @param pageIndex 页下标
	 * @param pageSize 页面大小
	 * @return
	 */
   public  static String createOraclePagingSql(String sql, int pageIndex, int pageSize){
	   int m = (pageIndex-1) * pageSize; 
       int n = m + pageSize; 
	   StringBuffer pagingSelect = new StringBuffer(100); 
	   pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ")
	   .append(sql) 
	   .append(" ) row_ where rownum <=")
	   .append(n)
	   .append(") where rownum_ >")
	   .append(n); 	   
	   return pagingSelect.toString(); 	
   }

0 请登录后投票
   发表时间:2009-12-10  
对oracle不是很熟,这种查找是不是主键是连续的?
0 请登录后投票
   发表时间:2010-01-25  
还是第一种是对的,第2种有性能问题,真的,如何在加上order by,你就知道啦
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics