我是一名销售人员开发人员,我需要编写一个SQL查询,并完成了它,但是性能非常低。你能帮帮我吗?
我的查询如下:
select col1, col2,col3,col4
from table1
where col1 is not null
and col2='ABC'
and (col3 IN (SELECT field1 FROM table 2)
OR col4 in('A','B','C'))有什么方法我可以优化这个以提高性能吗?
更新
我用左外接来实现它,这是正确的方式吗?
发布于 2019-02-27 04:51:57
尝试以下查询:
SELECT col1, col2,col3,col4 FROM TABLE1 T1
WHERE (EXISTS (SELECT 1 FROM TABLE2 T2 WHERE T1.COL3 = T2.FIELD1)
OR COL4 IN ('A','B','C'))
SELECT col1, col2,col3,col4 FROM TABLE1 T1
WHERE EXISTS (SELECT 1 FROM TABLE2 T2 WHERE T1.COL3 = T2.FIELD1)
UNION
SELECT col1, col2,col3,col4 FROM TABLE1 T1 WHERE COL4 IN ('A','B','C')https://stackoverflow.com/questions/54898033
复制相似问题