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.这是一个标量函数 –