<td id="hmpli"></td>
  • <td id="hmpli"></td>

    侵权投诉

    SQL告别count改用LIMIT 1

    数据分析与开发 ? 2021-07-26 10:57 ? 次阅读

    根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count

    目前多数人的写法

    多次REVIEW代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下

    ##### SQL写法:

    SELECT count(*) FROM table WHERE a = 1 AND b = 2

    ##### Java写法:

    int nums = xxDao.countXxxxByXxx(params);

    if ( nums 》 0 ) {

    //当存在时,执行这里的代码

    } else {

    //当不存在时,执行这里的代码

    }

    是不是感觉很OK,没有什么问题

    优化方案

    推荐写法如下:

    SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1

    ##### Java写法:

    Integer exist = xxDao.existXxxxByXxx(params);

    if ( exist != NULL ) {

    //当存在时,执行这里的代码

    } else {

    //当不存在时,执行这里的代码

    }

    SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了业务代码中直接判断是否非空即可

    总结

    根据查询条件查出来的条数越多,性能提升的越明显,在某些情况下,还可以减少联合索引的创建。

    编辑:jq

    原文标题:SQL 查找是否"存在",别再 count 了!

    文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

    收藏 人收藏
    分享:

    评论

    相关推荐

    从ACCESS迁移到SQL-Server的一点经验

    从ACCESS迁移到SQL-Server的一点经验(电力电子与特种电源技术专硕如何)-文档为从ACC....
    发表于 09-17 15:32 ? 6次 阅读
    从ACCESS迁移到SQL-Server的一点经验

    一种使用SQL的程序设计接口

    ODBC 是 一 种 使 用SQL 的 程 序 设 计 接 口。 使 用ODBC 让 应 用 程 序 的 编 写 者 避 免 了 与 数 据 源 相 联...
    发表于 09-17 06:34 ? 0次 阅读

    基于LABVIEW的SQL Server数据库操作教程

    基于LABVIEW的SQL Server数据库操作教程
    发表于 09-13 14:54 ? 36次 阅读

    一条SQL语句是怎么被执行的

    一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一....
    的头像 Linux爱好者 发表于 09-12 09:44 ? 186次 阅读
    一条SQL语句是怎么被执行的

    如何通过explain来验证sql的执行顺序

    关于 sql 语句的执行顺序网上有很多资料,但是大多都没进行验证,并且很多都有点小错误,尤其是对于 ....
    的头像 Linux爱好者 发表于 09-07 16:24 ? 283次 阅读
    如何通过explain来验证sql的执行顺序

    为什么我们需要分布式数据库

    数据库领域图灵奖获得者 Jim Gray 说过:“所有的存储系统最终都会演变成数据库系统。(All ....
    的头像 数据分析与开发 发表于 09-06 10:37 ? 267次 阅读

    Spark SQL的概念及查询方式

    一、Spark SQL的概念理解 Spark SQL是spark套件中一个模板,它将数据的计算任务通....
    的头像 数据分析与开发 发表于 09-02 15:44 ? 186次 阅读
    Spark SQL的概念及查询方式

    ACCESS数据库SQL语言

    ACCESS数据库SQL语言(电源技术版面费5400)-ACCESS数据库SQL语言,有需要的可以参....
    发表于 08-31 12:13 ? 30次 阅读
    ACCESS数据库SQL语言

    边缘计算网关-多台西门子S7-1200/1500等PLC与SQL数据库对接的案例

            IGT-DSER智能网关???,支持各种PLC、智能仪表、远程IO与数据库之间双向通讯...
    发表于 08-23 15:23 ? 1424次 阅读

    你们知道为什么要分库分表吗

    在文章开头先抛几个问题: (1)什么时候才需要分库分表呢?我们的评判标准是什么? (2)一张表存储了....
    的头像 上海磐启微电子有限公司 发表于 08-16 10:37 ? 250次 阅读

    SQL注入攻击是什么 SQL注入会带来哪些威胁

    AQL的定义 SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会....
    的头像 Les 发表于 08-04 17:40 ? 563次 阅读

    sql软件有哪些 数据库软件哪个好用

    数据库英文名为Spreadsheet Software,指的是按照数据结构来组织、存储和管理数据的仓....
    的头像 如意 发表于 07-28 14:36 ? 880次 阅读

    超实用的任务优化与断点执行方案

    前言 随着大数据时代的快速发展,企业每天需要存储、计算、分析数以万亿的数据,同时还要确保分析的数据具....
    的头像 Android编程精选 发表于 07-05 16:33 ? 435次 阅读
    超实用的任务优化与断点执行方案

    解读12 种 Numpy 和 Pandas 高效函数技巧

    本文分享给大家 12 种 Numpy 和 Pandas 函数,这些高效的函数会令数据分析更为容易、便....
    的头像 马哥Linux运维 发表于 06-29 17:05 ? 453次 阅读

    基于LABVIEW和SQL的风洞测量系统监测

    基于LABVIEW和SQL的风洞测量系统监测
    发表于 06-22 10:49 ? 98次 阅读

    你知道如何去求解连续区间吗?

    求解连续区间是数据分析、数据仓库笔试面试中??嫉腟QL题目。
    的头像 数据分析与开发 发表于 06-21 17:42 ? 369次 阅读

    Java程序员最容易犯的10个SQL错误是哪些

    Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编....
    的头像 电子发烧友网工程师 发表于 06-07 15:59 ? 489次 阅读

    简述Django查询生成原始SQL查询的3种方法

    我们使用Django ORM使查询数据库变得非常容易,但是如果我们知道幕后发生了什么或对某些Djan....
    的头像 马哥Linux运维 发表于 06-04 16:36 ? 393次 阅读

    基于可搜索加密机制的数据库加密方案综述

    基于可搜索加密机制的数据库加密方案综述
    发表于 06-02 14:14 ? 85次 阅读

    一篇让你熟练掌握 MyBatis-Plus!

    MyBatis-plus 是一款 Mybatis 增强工具,用于简化开发,提高效率。下文使用缩写 m....
    的头像 电子发烧友网工程师 发表于 06-01 09:30 ? 601次 阅读
    一篇让你熟练掌握 MyBatis-Plus!

    90条关于写Python 程序的建议

    自己写 Python 也有四五年了,一直是用自己的“强迫症”在维持自己代码的质量。都有去看Googl....
    的头像 电子发烧友网工程师 发表于 05-31 10:12 ? 365次 阅读

    训练SQL注入的sqil-labs-master闯关游戏

    训练SQL注入的sqil-labs-master闯关游戏
    发表于 05-14 09:31 ? 88次 阅读

    详解SQL数据库之如何高效快速查询

    为什么别人的查询只要几秒,而你的查询语句少则十多秒,多则十几分钟甚至几个小时?与你的查询语句是否高效....
    发表于 05-05 17:25 ? 2375次 阅读

    一文详解实时数据仓库的发展、架构和趋势

    数据处理现状:当前基于Hive的离线数据仓库已经非常成熟,数据中台体系也基本上是围绕离线数仓进行建设....
    的头像 数据分析与开发 发表于 04-29 16:55 ? 618次 阅读
    一文详解实时数据仓库的发展、架构和趋势

    用于代码注释生成的语法辅助机制设计

    现有代码注释生成方法的复制机制未考虑源代码复杂多变的语法结构,导致存在准确率和鲁棒性不高等问题。通过....
    发表于 04-27 11:23 ? 85次 阅读
    用于代码注释生成的语法辅助机制设计

    探究组态软件的等离子熔积直接成形自动控制系统

    本文将介绍基于组态软件的等离子熔积过程自动控制系统软件的研究与实现,控制中涉及的一些关键技术对其它工....
    的头像 电子发烧友网工程师 发表于 04-22 15:14 ? 639次 阅读
    探究组态软件的等离子熔积直接成形自动控制系统

    结合关系分类与修正的SQL语法结构构建方法

    针对嵌套查询中SQL语法结构难以构建的问题,提出结合关系分类与修正的 GSC-RCO方法,以3类实体....
    发表于 04-22 14:25 ? 88次 阅读
    结合关系分类与修正的SQL语法结构构建方法

    数据库字段要使用NOT NULL究竟是为何?

    最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOT NULL,对于强迫症晚期患者来....
    的头像 数据分析与开发 发表于 04-19 15:24 ? 660次 阅读
    数据库字段要使用NOT NULL究竟是为何?

    基于自然语言生成多表SQL语句模板填充的方法

    自然语言生成SαL查询不仅是构建智能数据库查询系统的一个重要鉏成部分,亦是新型供电轨道交通系统混合时....
    发表于 04-09 16:32 ? 94次 阅读
    基于自然语言生成多表SQL语句模板填充的方法

    浅析DataGrip软件的功能与介绍

    DataGrip 版是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流....
    的头像 人工智能与大数据技术 发表于 04-07 18:38 ? 2145次 阅读
    浅析DataGrip软件的功能与介绍

    一种基于表结构和内容的问句理解方法

    问句理解是模型将自然语言冋句转换成SαL的重要基础。目前多数利用深度学习的模型仅是通过数据库结构,未....
    发表于 03-22 11:09 ? 96次 阅读
    一种基于表结构和内容的问句理解方法

    互联网Java工程师的经典面试题免费下载

    内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Me....
    发表于 03-15 08:00 ? 74次 阅读

    有向图外键冲突解决算法的设计方案

    外键作为关系型数据库中的重要约束之一,对约束数据库的操作顺序有着重要意义,但在数据库集群同步情况下用....
    发表于 03-12 10:30 ? 104次 阅读
    有向图外键冲突解决算法的设计方案

    系统是如何和MySQL交互的?

    天天和数据库打交道,一天能写上几十条 SQL 语句,但你知道我们的系统是如何和数据库交互的吗?MyS....
    的头像 数据分析与开发 发表于 03-10 15:44 ? 710次 阅读
    系统是如何和MySQL交互的?

    面试官考点之索引是什么?

    可以从几个维度去看这个问题,查询是否够快,效率是否稳定,存储数据多少,以及查找磁盘次数等等。为什么不....
    的头像 数据分析与开发 发表于 03-05 10:37 ? 503次 阅读
    面试官考点之索引是什么?

    SQL注入把系统搞挂了该怎么处理?

    最近我在整理安全漏洞相关问题,准备在公司做一次分享。恰好,这段时间团队发现了一个sql注入漏洞:在一....
    的头像 数据分析与开发 发表于 03-03 15:00 ? 535次 阅读
    SQL注入把系统搞挂了该怎么处理?

    程序员是怎么写代码的?常见问详解

    腾讯程序员是怎么写代码的?,代码,插件,sql,调用,编程
    的头像 电子发烧友网工程师 发表于 02-20 15:38 ? 1672次 阅读

    在使用MyBatis中SQL语句优化总结

    MyBatis 作为一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。它免除了几乎所有....
    的头像 华为开发者社区 发表于 02-04 15:20 ? 622次 阅读

    SQL子查询优化是怎么回事

    子查询 (Subquery)的优化一直以来都是 SQL 查询优化中的难点之一。 关联子查询的基本执行....
    的头像 数据分析与开发 发表于 02-01 13:55 ? 521次 阅读
    SQL子查询优化是怎么回事

    如何去看我们的SQL是否走索引

    ? 问题发现 我认为一条很简单的 SQL 然后跑了很久,明明我已经都建立相应的索引,逻辑也不需要优化....
    的头像 数据分析与开发 发表于 02-01 13:52 ? 702次 阅读
    如何去看我们的SQL是否走索引

    企业级开源数据库openGauss荣获“2020年度最热开源数据库奖”

    ? PostgreSQL 中文社区主办的第十届PostgreSQL中国技术大会在广州举办。大会现场,....
    的头像 华为计算 发表于 01-18 14:51 ? 805次 阅读

    为什么阿里云要做Apache Flink

    流批一体已经从理论走向实践,并在 2020 年迎来落地元年。 短短 5 年,Apache Flink....
    的头像 算法与数据结构 发表于 01-04 14:39 ? 786次 阅读
    为什么阿里云要做Apache Flink

    LABVIEW与SQL SERVER的连接方法详细说明

     在用 LABVIEW 进行数据采集分析过程中,一般会用到数据库。在数据量很大的场合,可考虑使用 S....
    发表于 12-24 08:00 ? 552次 阅读
    LABVIEW与SQL SERVER的连接方法详细说明

    52条SQL语句性能优化策略

    本文会提到52条SQL语句性能优化策略。 ? 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在w....
    的头像 数据分析与开发 发表于 12-14 11:14 ? 620次 阅读

    SQL数据库导入无法从数据库获取字符串?

    本人数据库小白,需要将一个txt文件导入本地数据库,使用的是微软的SQL SERVER2008,导入的时候,出现了如图所示的报错,...
    发表于 12-02 17:21 ? 942次 阅读
    SQL数据库导入无法从数据库获取字符串?

    带你完全理解 SQL中的SELECT 句式

    来源:Linary https://www.cnblogs.com/lina-zhang/p/376....
    的头像 数据分析与开发 发表于 12-02 09:33 ? 2010次 阅读

    请教用LabVIEW的Database创建SQL数据表

    各位,我用LabVIEW的Database创建SQL数据表时,数据类型只有字符串、数值、日期,没有布尔型的数据类型,没有能够对应到...
    发表于 11-30 17:57 ? 1482次 阅读
    请教用LabVIEW的Database创建SQL数据表

    数据库的14个实用设计技巧

    可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个....
    发表于 11-20 14:55 ? 102次 阅读
    数据库的14个实用设计技巧

    遭遇网络攻击后,如何保证用户登录的安全性?

    用户登录是系统中最重要的功能之一,登录成功就能拥有系统的相关使用权限。所以设计一个安全的登录流程是十....
    的头像 如意 发表于 11-17 15:19 ? 893次 阅读

    IGT-SER智能网关-Modbus协议转SQL数据库,实现双向通讯

            IGT-SER智能网关???,支持各种PLC、智能仪表、远程IO与数据库之间双向通讯...
    发表于 11-03 13:27 ? 808次 阅读

    SQL在物联网时代还值得重用吗?

    大约十年前,SQL是关系数据库管理系统(RDBMS)中编程、存储和管理数据的一个无可争议的标准。RD....
    的头像 如意 发表于 10-28 12:01 ? 1164次 阅读

    SQL基础教程第二版PDF的电子书免费下载

    本书是畅销书《SQL基础教程》的第2版,介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法....
    发表于 10-28 08:00 ? 345次 阅读
    SQL基础教程第二版PDF的电子书免费下载

    SQLPrompt下载及安装破解使用教程分享

    一、简述      SQL Prompt是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能...
    发表于 10-27 15:53 ? 202次 阅读

    SQL和Java的代码写法

    根据查询条件查出来的条数越多,性能提升的越明显,在某些情况下,还可以减少联合索引的创建。
    的头像 数据分析与开发 发表于 10-21 10:35 ? 805次 阅读
    SQL和Java的代码写法

    快来,我出个算法题给你做做

    考大家一个算法题 责任编辑:xj 原文标题:考大家一个算法题 文章出处:【微信公众号:算法与数据结构....
    的头像 算法与数据结构 发表于 10-10 16:55 ? 681次 阅读

    PostgreSQL 13正式发布

    来源:CSDN 9月24日,PostgreSQL全球开发组宣布PostgreSQL 13正式发布,作....
    的头像 数据分析与开发 发表于 10-10 09:56 ? 766次 阅读

    常用的sql的语句有哪些?

    常用的sql语句(一)
    发表于 06-18 16:47 ? 244次 阅读

    记录sql也很慢的原因

    查一条记录sql也很慢的原因
    发表于 06-15 14:31 ? 238次 阅读

    SQL语句怎么优化

    SQL语句优化——结合书籍论坛小结
    发表于 06-14 14:46 ? 130次 阅读

    手写SQL编译器词法分析

    精读《手写 SQL 编译器 - 词法分析》
    发表于 05-26 16:27 ? 267次 阅读
    日本A级作爱片_日本高清免费毛片大全_国产人妻少妇精品视频_任我爽橹在线精品视频 庆元县| 屯门区| 二连浩特市| 昂仁县| 温州市| 天峨县| 昭平县| 左云县| 名山县| 全南县| 康乐县| 当涂县| 温州市| 塔河县| 休宁县| 丰台区| 九江市| 卫辉市| 团风县| 河池市| 太原市| 台北县| 新干县| 时尚| 光山县| 怀远县| 泸州市| 图们市| 黑山县| 岳阳县| 咸丰县| 霞浦县| 梧州市| 习水县| 仁寿县| 奉节县| 兴仁县| 杭锦后旗| 介休市| 长沙县| 西充县| http://444 http://444 http://444 http://444 http://444 http://444