判断记录是否存在 exists 和 top 1 要比 count 快
2008-09-28 15:52
891 查看
之前在程序中验证记录是否存在,总是用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秒
当使用数据库中的某个字段来做验证时(特别是字符串型)的更明显
以上只是本人做的一个小小实验,如果哪里不合理大家多多指证,写的不好大家别丢石子就行了
今天做的页面中需要验证此类信息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秒
当使用数据库中的某个字段来做验证时(特别是字符串型)的更明显
以上只是本人做的一个小小实验,如果哪里不合理大家多多指证,写的不好大家别丢石子就行了
相关文章推荐
- PHP判断数据库中的记录是否存在的方法
- SQL判断查询结果是否存在EXISTS
- 判断表是否存在关联记录
- SQL Server判断对象是否存在 (if exists (select * from sysobjects )(转)
- 自动判断记录是否存在
- PHP判断某个数组中是否存在指定的key,函数array_key_exists()
- 判断SQL数据库是否存在表,是否存在记录
- MySQL中判断记录是否存在的几种方法
- SqlServer和Mysql插入记录前判断是否存在,存在则插入,不存在则修改。
- 判断表中是否存在记录的SQL语句
- Sql 查询当天、本周、本月记录和日期操作、判断表和字段是否存在
- 如何用PHP判断数据库中的记录是否存在
- 如何判断ACCESS数据表中的某条记录是否存在
- mysql 判断记录是否存在方法比较
- 通用存储过程之二: 根据主键的值,判断记录是否存在的存储过程
- php判断类是否存在函数class_exists用法分析
- SQL数据库中查找一条记录是否存在 count(推荐)
- 如何用PHP判断数据库中的记录是否存在
- 将字符串添加到指定的文件中去 AppendAllText ;WriteAllText ;----------------判断指定路径的文件是否存在File.Exists(Path)