zoukankan      html  css  js  c++  java
  • SQL 语句判断记录是否存在(最简洁简单性能最优)

    今天查了下,发现网上的没有一个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 ,所以该语句并没有性能问题,只是语法不够简洁

    本文禁止任何网站转载,严厉谴责那些蛀虫们。
    本文首发于,博客园,请搜索:博客园 - 寻自己,查看原版文章
  • 相关阅读:
    与DSP通信时,RD&WR信号
    4.2.1 Vector bit-select and part-select addressing
    数据校验
    数据结构 (树,图)
    ASOP编译说明
    os
    20180203-增与查
    yum安装MariaDB
    20180202之engine,URL,base,session
    列表
  • 原文地址:https://www.cnblogs.com/xunziji/p/6343891.html
Copyright © 2011-2022 走看看