当前位置: 代码迷 >> Oracle管理 >> sql语句优化请求解决思路
  详细解决方案

sql语句优化请求解决思路

热度:139   发布时间:2016-04-24 04:08:56.0
sql语句优化请求
select * from tab1 where f1<>1;    --用时0.031秒
select * from tab1 where id_no in (select id_no from view2);--用时0.047秒
可是,合并起来就耗时8.84秒
select * from tab1 where f1<>1 or  id_no in (select id_no from view2);--用时8.84秒
如何优化?谢谢

------解决思路----------------------
select * from tab1 where f1<>1
UNION
select * from tab1 where id_no in (select id_no from view2)


------解决思路----------------------
SELECT *
  FROM TAB1
 WHERE F1 <> 1
UNION ALL
SELECT *
  FROM TAB1 A
 WHERE EXISTS (SELECT ID_NO FROM VIEW2 B WHERE B.ID_NO = A.ID_NO);

exists 会好些
  相关解决方案