一般来说,我的查询语句包含三个独立的SELECT查询,我使用EXCEPT和UNION操作符。当单独执行这些查询时,结果会在1-2秒内返回,但是如果使用EXCEPT操作符,查询可能需要几个小时。
查询结构(简化)如下:
SELECT DISTINCT FIELD_1, FIELD_2, FIELD_3 FROM MYTABLE
EXCEPT
(
SELECT DISTINCT FIELD_1, FIELD_2, FIELD_3 FROM MYTABLE WHERE XXX
UNION
SELECT DISTINCT FIELD_1, FIELD_2, FIELD_3 FROM MYTABLE WHERE YYY
)
有没有任何方法可以加快整个查询的速度,或者EXCEPT运算符通常如此缓慢,应该避免使用?
WHERE NOT EXISTS
? - jarlhSELECT DISTINCT FIELD_1, FIELD_2, FIELD_3 FROM MYTABLE WHERE NOT XXX AND NOT YYY
? - Peter B