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 会好些