oracle count 百万级 分页查询记录总数、总条数优化
oracle count 百万级 查询记录总数、总条数优化?
最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次是查询总数,一次是查询分页结果
SELECT /*+ROWID(USER)*/ count(*) FROM USER t 或者SELECT /*+ INDEX(USER ID) */ count(*) FROM USER t
?使用后,单条统计总数的查询在800ms左右,分页查询结果基本在900ms~950ms之间,基本在一秒之内,达到了当初设计需求。
??? 当然,这个是没有加查询条件的,当把查询条件加入后,不管前面加不加强制索引,结果时间都在2000ms之间,所以,如果要进行有条件的查询,就要在where条件中进行优化。特别注意条件字段查询前后顺序。
??? 具体优化请参考
1.浅析Oracle语句优化规则http://www.cnblogs.com/Automation_software/archive/2011/01/21/1940883.html