2
我想知道這兩個SQL語句中的哪一個在性能和最佳實踐中更好,以便找到現有記錄?還有另一種有效的方法嗎?在SQL Server中驗證現有記錄的更快方法
IF EXISTS(SELECT 1 FROM TABLE WHERE ID = @ID)
BEGIN
--VALIDATION
END
OR
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.這是一個標量函數 –