加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 最好检查项目是否存在:选择计数(ID)或存在(…)?

发布时间:2020-12-12 07:02:39 所属栏目:MsSql教程 来源:网络整理
导读:如果表格包含超过70万行,则确定项目是否存在或不是特别的最佳性能是什么 if (Select count(id) from Registeration where email='email@w.cn') 0 print 'Exist'else print 'Not Exist' 要么 if Exists(Select id from Registeration where email='email@w.cn
如果表格包含超过70万行,则确定项目是否存在或不是特别的最佳性能是什么
if (Select count(id) from Registeration where email='email@w.cn') > 0
    print 'Exist'
else
    print 'Not Exist'

要么

if Exists(Select id from Registeration where email='email@w.cn') 
    print 'Exist'
else
    print 'Not Exist'

解决方法

现在,永远

> COUNT将遍历表或索引:您询问了一个COUNT
> EXISTS会在找到一行后立即停止

编辑,要清楚

当然,在这种情况下,如果电子邮件列是唯一的并编入索引,它将会很接近。

一般来说,EXISTS将使用较少的资源,也更正确。你正在寻找一行的存在,而不是“超过零”,即使它们是一样的

Edit2:在EXISTS中,你可以使用NULL,1,ID,甚至是1/0:它没有被检查…

2011年5月21日编辑:

看起来这是在SQL Server 2005中进行了优化,因此在这种情况下,COUNT现在与EXISTS相同

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读