В общем, у меня есть запрос SELECT в сочетании с тремя независимыми запросами 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 в целом настолько медленный, что его следует избегать?
NOT EXISTS
as @jarlh предложил. Я не понимаю, зачем вам здесь нужныUNION
иEXCEPT
. Кроме того,DISTINCT
не нужен - person scsimon   schedule 08.02.2019SELECT DISTINCT FIELD_1, FIELD_2, FIELD_3 FROM MYTABLE WHERE NOT XXX AND NOT YYY
? - person Peter B   schedule 08.02.2019