Я хочу знать, какой из этих двух предложений SQL лучше в производительности и лучшей практике, чтобы найти существующую запись? Есть ли еще один эффективный способ?Более быстрый способ проверки существующих записей в SQL Server
IF EXISTS(SELECT 1 FROM TABLE WHERE ID = @ID)
BEGIN
--VALIDATION
END
ИЛИ
SET @VARIABLE = SELECT COUNT(1) FROM TABLE WHERE ID = @ID)
IF(@VARIABLE > 0)
BEGIN
--VALIDATION
END
Используйте 'IF EXISTS'. Не заставляйте сервер рассчитывать, если вам всего лишь 0 или не 0. Для более эффективного способа нам, вероятно, нужно знать, что еще делает ваш запрос: мы можем переписать всю партию в один запрос, а не писать процедурно. –
Вы должны попробовать их на большом столе и сравнить их. –
Часть -VALIDATION - это только бит-переменная, возвращающая true или false. SET @ EXIST = 1. Это скалярнозначная функция –