第一个sql: select * from ( select * from V_AC01_SYS a ) where rownum <= 12;第二个sql: select * from ( select row_.*, rownum rownum_ from ( select * from V_AC01_SYS b) row_ where rownum <= 15) where rownum_ > 10; V_AC01_SYS是一张视图现在我测试一个sql的速度很快 但第二个sql速度就慢了50倍左右,不知道是什么原因,有人知道吗,查询的那个视图有40w条记录 知道的人回答
select row_.*, rownum rownum_ from ( select * from V_AC01_SYS b) row_ where rownum <= 15 要多久 select * from ( select row_.*, rownum rownum_ from ( select * from V_AC01_SYS b) row_ where rownum <= 15) where rownum_ > 10; 要多久是否与加入了rownum rownum_有关?
这两句SQL完全就不一样,怎么比呀?还有我不知道你为什么要这样多写一层SELECT,直接 select rownum,b.* from V_AC01_SYS b where rownum <= 15 select row_.*, rownum rownum_ from ( select rownum rownum_,b.* from V_AC01_SYS b where rownum <= 15)row_ where rownum_ > 10;
第一个取前15条 第二个取10-15条: 举例: select * from (select rownum r,b.* from emp b where rownum<=10) where r>5 /
select * from
(
select * from V_AC01_SYS a
)
where rownum <= 12;第二个sql:
select * from
( select row_.*, rownum rownum_ from
( select * from V_AC01_SYS b) row_
where rownum <= 15)
where rownum_ > 10;
V_AC01_SYS是一张视图现在我测试一个sql的速度很快
但第二个sql速度就慢了50倍左右,不知道是什么原因,有人知道吗,查询的那个视图有40w条记录
知道的人回答
( select * from V_AC01_SYS b) row_
where rownum <= 15
要多久
select * from
( select row_.*, rownum rownum_ from
( select * from V_AC01_SYS b) row_
where rownum <= 15)
where rownum_ > 10;
要多久是否与加入了rownum rownum_有关?
select rownum,b.* from V_AC01_SYS b
where rownum <= 15
select row_.*, rownum rownum_ from
( select rownum rownum_,b.* from V_AC01_SYS b
where rownum <= 15)row_
where rownum_ > 10;
第二个取10-15条:
举例:
select * from
(select rownum r,b.*
from emp b
where rownum<=10)
where r>5
/