判断记录是否存在 exists 和 top 1 要比 count 快

之前在程序中验证记录是否存在,总是用select count(0) from table1的到记录数,然后在比对

今天做的页面中需要验证此类信息3此,所以就像有没有性能更好的办法

 思考count的工作原理后感觉是读取所有数据后进行统计的

而使用top 1 会不会只是取得第一个纪录后就跳出查询呢?

正好手头上又朋友上次做实验制作的一个300万记录的表,我就用来做了下实验

 

首先是

select count(0) from table1

执行时间 两次分别是 3秒,1秒

select top 1 0 from table1

两次执行时间都为0秒

exists( select  0 from table1)

两次都为0秒

 

当使用数据库中的某个字段来做验证时(特别是字符串型)的更明显

以上只是本人做的一个小小实验,如果哪里不合理大家多多指证,写的不好大家别丢石子就行了

posted on 2008-09-28 15:52  最坏是单飞 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/leilei/archive/2008/09/28/1301528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值