【发布时间】:2015-10-15 05:51:36
【问题描述】:
我有以下函数返回一点:
Declare @Ret bit
SET @Ret = 0
IF EXISTS ( Select * from tblExclusion where StatusID = 1 and AccountID = @AccountID )
Begin
SET @Ret = 1
End
Return @Ret
现在,表中的同一个 AccountID 可以有多个条目,或者根本没有,但只有一个条目将永远具有“1”状态(如果存在)。
老实说,我对 SQL 不是很了解,但调用该函数时似乎需要很长时间才能返回。我想知道是否有更有效的方式来编写上述内容。
提前致谢。
【问题讨论】:
-
查询没有问题。如果你索引 StatusID 和 AccountID 它应该非常快
-
这是一个非常简单的查询,如果它执行缓慢,也许您应该评估表上的现有索引,或者让 DBA 评估是否可以添加。
-
感谢您的意见,我将研究你们提到的索引方面。
标签: sql performance sql-server-2008 function ssms