SQL 语句判断记录是否存在
Posted 寻自己
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 语句判断记录是否存在相关的知识,希望对你有一定的参考价值。
今天查了下,发现网上的没有一个sql语句写的好的。
判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题。
我进行了优化后,最简洁简单性能最优的的sql语句,用来判断表中的记录是否存在:
select isnull((select top(1) 1 from tableName where conditions), 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 语句判断记录是否存在的主要内容,如果未能解决你的问题,请参考以下文章
mysql判断一条记录是否存在,如果存在,则更新此语句,如果不存在,则插入