Я хотел бы написать запрос, который просто возвращает 1 или 0 в зависимости от результатов.
Я думаю использовать этот
IF EXISTS(
select * from myTable
where id=7 and rowInsertDate BETWEEN '01/01/2009' AND GETDATE()
)
SELECT 1
ELSE
SELECT 0
Это общая предпосылка.
Конечные результаты на самом деле будут гораздо более сложным запросом, взяв один из многих параметров и строку, созданную и выполненную с помощью sp_executesql
Мой вопрос позволяет сказать, что "count" вернет 376986 и займет 4 секунды для вычисления. Является ли использование EX EXISTS прекращением, как только найдет 1 строку, которая удовлетворяет критериям.
Я решаю использовать IF EXISTS или просто запросить @@ROWCOUNT и посмотреть, больше ли оно нуля.
Я действительно пробовал некоторые тесты, и оба они в значительной степени работали с одинаковой скоростью, но через 2 года, когда имеется больше данных, вероятно, использование IF EXISTS будет усилением производительности или нет?
Спасибо