oracle分页查询千万级优化,在做比对项目时,有表是3千万多的数据,在页面做分页查询时很卡40s,反正差不多一分钟的时间,后来更了sql,优化了代码就好了很多,4s就可以了。
代码里优化是把总条数存起来,点下一页时再传进来,不用每次都查
sql是取条数时不要用and,between这些
优化后的sql:
———
select * from (select C.*,a.*,rownum rn from TT_CRM c left join ta_area a on c.AREA =a.id WHERE ROWNUM <=20) where rn > 10
优化前的sql:
——
select * from ( select row_.*, rownum rownum_ from ( select * from TT_CRM c left join ta_area a on c.AREA =a.id ) row_ ) where rownum_ <= 20 and rownum_ > 10