14. join改为exists
join是Oracle支持的连接语法,有些场景中,该语法不但可以提高SQL语句的可读性,还可以使SQL语句获得很好的性能。但有些场景中,该语法会导致SQL语句产生次优的执行计划,从而引起SQL语句的性能问题。因此,为了解决相关SQL语句的性能问题,有时我们需要通过exists来改写和消除join,具体改写方法如下所示。
--改写前
SQL> select distinct t1.col1
from tab1 t1,tab2 t2
where t1.col2=...
and t2.col1=...
and t1.col3=t2.col2;
--改写后文章来源:https://uudwc.com/A/DN38B
SQL> select distinct col1 from tab1文章来源地址https://uudwc.com/A/DN38B