У меня большой запрос SQL с несколькими операторами и UNION ALL
. Я делаю что-то вроде этого сейчас:
DECLARE @condition BIT;
SET @condition = 0;
SELECT * FROM table1
WHERE @condition = 1;
UNION ALL
SELECT * FROM table2
В этом случае table1 не вернет никаких результатов. Однако этот запрос сложен со многими объединениями (например, FullTextTable
). Оценка плана выполнения показывает высокую стоимость, но фактическое количество строк и время выполнения, кажется, показывают иначе. Это самый эффективный способ фильтрации всего запроса или есть лучший способ? Я не хочу, чтобы при первом выборе что-либо запускалось, если это возможно.