小虫快跑

.net爱好者

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

之前在程序中验证记录是否存在,总是用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  最坏是单飞  阅读(3189)  评论(3编辑  收藏  举报