1

我有一张桌子,想检查是否存在满足一些简单条件的记录。我想知道哪个会更快:

if (select count(*) from ... where ...) > 0

或者

if exists (select top (1) from ... where ...).

4

2 回答 2

5

exists 找到与 where 子句匹配的记录后立即返回结果,而 count 需要扫描整个表以确定计数。所以存在更快

于 2012-04-20T12:40:27.910 回答
3
if exists (select 1 from ... where ...) 

(假设您在where列上有索引...)

于 2012-04-20T12:34:03.223 回答