日期:2014-05-17  浏览次数:20820 次

关于大数据量表的嵌套查询性能问题
我要写一个数据分页的存储过程,要求可以排序,我写了一个sql如下:
select   *   from  
(select   rownum   rn,   a.*   from   TABLE_1   a   order   by   MSG_LENGTH)
where   rn   between   500+1   and   1000,但是不是我要的结果,我又改了一下:
select   *   from  
(select   rownum   rn,   a.*   from
(select   *   from   TABLE_1   order   by   MSG_LENGTH)   a)
where   rn   between   500+1   and   1000
结果我是满意的,但是做了两个嵌套查询,因为这个表的数据量很大,不知道这样会不会影响查询的性能?



------解决方案--------------------
1 这两句话有区别?
2 MSG_LENGTH要建索引