SQL 语句判断记录是否存在(最简洁简单性能最优)
2017-01-23 13:30
302 查看
今天查了下,发现网上的没有一个sql语句写的好的。
判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题。
我进行了优化后,最简洁简单性能最优的的sql语句,用来判断表中的记录是否存在:
select isnull((select top(1) 1 from tableName where conditions), 0)
结果为 1,则说明记录存在;结果为 0,则说明记录不存在。
网上的常见的有问题的语句:
错误1:
select COUNT(*) from tableName where conditions
count(*) 计算会对聚集索引进行扫描和计算,reads 特别多,特别是 cpu 资源占用极大。
错误2:
if exists (select * from tableName where conditions) select '1' else select '0'
这种方法稍微有点灵性,但是却很不简洁。
同时由于 select * 前面有 exists ,所以该语句并没有性能问题,只是语法不够简洁
本文禁止任何网站转载,严厉谴责那些蛀虫们。
本文首发于,博客园,请搜索:博客园 - 寻自己,查看原版文章
判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题。
我进行了优化后,最简洁简单性能最优的的sql语句,用来判断表中的记录是否存在:
select isnull((select top(1) 1 from tableName where conditions), 0)
结果为 1,则说明记录存在;结果为 0,则说明记录不存在。
网上的常见的有问题的语句:
错误1:
select COUNT(*) from tableName where conditions
count(*) 计算会对聚集索引进行扫描和计算,reads 特别多,特别是 cpu 资源占用极大。
错误2:
if exists (select * from tableName where conditions) select '1' else select '0'
这种方法稍微有点灵性,但是却很不简洁。
同时由于 select * 前面有 exists ,所以该语句并没有性能问题,只是语法不够简洁
本文禁止任何网站转载,严厉谴责那些蛀虫们。
本文首发于,博客园,请搜索:博客园 - 寻自己,查看原版文章
相关文章推荐
- 判断表中是否存在记录的SQL语句
- 先判断记录是否存在,不存在则将记录插入表的sql语句
- SQL语句判断记录是否存在
- 用SQL语句判断数据库中的记录是否存在
- 判断表中是否存在记录的SQL语句
- T-SQL 判断字段是否存在的SQL语句写法
- 判断字段是否存在的SQL语句写法
- SQL:判断某些元素是否存在及创建的SQL语句
- 一条SQL语句 判断某个表中是否存在某个栏位!!
- T-SQL 判断字段是否存在的SQL语句写法
- SQL语句判断数据库、表、字段是否存在
- Oracle判断对象是否存在sql语句
- Sql 查询当天、本周、本月记录和日期操作、判断表和字段是否存在
- sql 游标简单使用(判断临时表是否存在)
- Sql 语句如何判断job 是否存在并删除
- 判断表是否存在或表是否有数据的sql语句
- 一条sql语句判断数据是否存在
- 判断数据是否存在语句性能
- sql语句判断一个表里是否存在某列
- 判断各种资源是否存在的Sql语句