侵权投诉

SQL和Java的代码写法

数据分析与开发 2020-10-21 10:35 次阅读

  根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要select count(*) 呢?

  无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count.

  目前多数人的写法

  多次 review 代码时,发现如现现象:

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

  SQL写法:

  

  Java写法:

  

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

  优化方案

  推荐写法如下:

  SQL写法:

  

  Java写法:

  

  SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了

  业务代码中直接判断是否非空即可

  总结

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

原文标题:SQL判断是否"存在",还在用 count 操作?很耗时的!

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

收藏 人收藏
分享:

评论

相关推荐

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

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

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

来源:Linary https://www.cnblogs.com/lina-zhang/p/376....
的头像 数据分析与开发 发表于 12-02 09:33 154次 阅读
带你完全理解 SQL中的SELECT 句式

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

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

11月编程排行榜:Python超过Java成第二

近日,TIOBE公布了 11 月编程指数信息。该榜出现近 20 年来,每月的前两位一直是 C 和 J....
的头像 数据分析与开发 发表于 11-27 16:09 208次 阅读
11月编程排行榜:Python超过Java成第二

准备Java与Python协同开发环境

1.  前言 在本文里,将详细说明如何使用Chaquopy来帮助我们用最简便的方式实现Android Java呼叫Python协同编程。...
发表于 11-24 18:09 101次 阅读
准备Java与Python协同开发环境

Java第二名的位置已经被Python取代了

有人说Python的流行和数据挖掘、人工智能数值计算等领域的蓬勃发展息息相关,但是,TIOBE CE....
的头像 人工智能与大数据技术 发表于 11-23 11:12 321次 阅读
Java第二名的位置已经被Python取代了

怎么样使用嵌套复杂度实现控制流混淆算法的论文资料说明

采用随机插入策略的垃圾代码控制流混淆算法,存在混淆强度和额外开销的不确定性。针对该问题,提出一种基于....
发表于 11-20 17:14 57次 阅读
怎么样使用嵌套复杂度实现控制流混淆算法的论文资料说明

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

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

为什么Java中1000==1000为false,而100==100为true呢

为什么 Java 中1000==1000为false,而100==100为true? 这是一个挺有意....
的头像 数据分析与开发 发表于 11-19 15:51 264次 阅读
为什么Java中1000==1000为false,而100==100为true呢

到底怎样才能成长为一名软件教练呢

软件正在改变世界,也在改变着华为。近几年华为招聘了众多业界软件精英,以软件教练身份加入,着力提升自身....
的头像 华为开发者社区 发表于 11-18 10:45 174次 阅读
到底怎样才能成长为一名软件教练呢

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

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

面向对象程序设计 - 课内实验1(Java语言概述)

了解 Java的数据类型 掌握各种变量的声明方式。 理解运算符的优先级。 掌握 Java基本数....
发表于 11-17 14:22 37次 阅读
面向对象程序设计 - 课内实验1(Java语言概述)

Python20年来首次超越Java

根据 2020 年 11 月最新出炉的 TIOBE 编程语言排行榜,Python 以 12.12% ....
的头像 DeepTech深科技 发表于 11-16 11:28 396次 阅读
Python20年来首次超越Java

JavaScript是如何获得突出地位的?

JavaScript的卑微起步始于 1995 年,是由当时在 Netscape 通信公司工作的 Br....
的头像 lhl545545 发表于 11-13 09:50 253次 阅读
JavaScript是如何获得突出地位的?

请问Java如何执行cmd命令、bat脚本、linux命令,shell脚本?

Java如何执行cmd命令、bat脚本、linux命令,shell脚本...
发表于 11-10 07:29 0次 阅读
请问Java如何执行cmd命令、bat脚本、linux命令,shell脚本?

最新的编程语言排行说明Python冲上第二

本月的排行榜出现了自 TIOBE 榜单发布以来,近二十年从未见过的变化:前两名的位置首次出现了一个除....
的头像 Wildesbeast 发表于 11-07 10:54 432次 阅读
最新的编程语言排行说明Python冲上第二

Java语言平台版本 及语言特点是什么?

使用计算机的方式有哪些? Java语言平台版本 Java语言的特点是什么? ...
发表于 11-06 07:52 101次 阅读
Java语言平台版本 及语言特点是什么?

Java冒泡排序的原理是什么?

Java冒泡排序的原理
发表于 11-06 07:12 0次 阅读
Java冒泡排序的原理是什么?

Redis 五大数据类型使用场景有哪些

Redis是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash(哈希),....
的头像 数据分析与开发 发表于 11-05 17:35 280次 阅读
Redis 五大数据类型使用场景有哪些

10月份GitHub上最热门的Python开源项目上榜详情

10月份GitHub上最热门的Python开源项目排行已经出炉啦,一起来看看上榜详情吧: 1 GHu....
的头像 人工智能与大数据技术 发表于 11-05 15:29 345次 阅读
10月份GitHub上最热门的Python开源项目上榜详情

20年来首次:Java被编程语言 Python超越

日前,TIOBE公布了最新一期的编程语言排行榜(11月)。 接近20年来的首次,Java和C没有分享....
的头像 工程师邓生 发表于 11-05 13:28 391次 阅读
20年来首次:Java被编程语言 Python超越

20年来首次。Java掉出全球最受欢迎的两大编程语言

日前,TIOBE公布了最新一期的编程语言排行榜(11月)。接近20年来的首次,Java和C没有分享前....
的头像 如意 发表于 11-05 12:11 251次 阅读
20年来首次。Java掉出全球最受欢迎的两大编程语言

java有哪几种数据结构?

java单链表结构介绍 java栈结构介绍 java队列结构介绍 ...
发表于 11-05 07:01 0次 阅读
java有哪几种数据结构?

Java程序员应该掌握哪些技术才能实现高薪水?

1-5年开发经验的Java程序员,应该掌握哪些技术才能轻松实现年薪40+w?...
发表于 11-05 06:38 0次 阅读
Java程序员应该掌握哪些技术才能实现高薪水?

java数组那些你不得不知的知识点

数组的概述   数组声明创建   数组使用   稀疏数组的创建以及还原 ...
发表于 11-05 06:00 0次 阅读
java数组那些你不得不知的知识点

Java基本数据类型之间的运算规则是什么?

Java基本数据类型 Java变量的使用说明 Java基本数据类型之间的运算规则 ...
发表于 11-04 09:59 0次 阅读
Java基本数据类型之间的运算规则是什么?

怎么样才能检测并发程序中的数据竞争有哪些方法

针对数据竞争检测过程中的误报和漏报问题,提出一种静态数据竞争检测方法。首先,使用控制流分析自动构造线....
发表于 11-03 17:50 54次 阅读
怎么样才能检测并发程序中的数据竞争有哪些方法

为什么说函数是JavaScript的一等公民

总说函数是 JavaScript 的一等公民,很多人就问了,它凭什么? 其实凭的就是对于 JS 这种....
的头像 数据分析与开发 发表于 11-03 09:52 225次 阅读
为什么说函数是JavaScript的一等公民

非计算机专业程序员的经验分享

适逢程序员佳节,来聊聊自己从无到有成为程序员的历程以及自己的经验吧。 懒人目录: 简单历程。 入门。....
的头像 深度学习自然语言处理 发表于 11-02 15:01 344次 阅读
非计算机专业程序员的经验分享

Java会在不久的将来主导编程语言行业

Java是一种通用编程语言,1995年由Sun Micro-systems公司开发。尽管已经有25年....
的头像 如意 发表于 10-28 16:53 384次 阅读
Java会在不久的将来主导编程语言行业

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

大约十年前,SQL是关系数据库管理系统(RDBMS)中编程、存储和管理数据的一个无可争议的标准。RD....
的头像 如意 发表于 10-28 12:01 740次 阅读
SQL在物联网时代还值得重用吗?

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

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

学习Java有前途吗?Java岗位饱和了吗?这篇文告诉你!

现在学Java有前途吗?Java岗位饱和了吗?学Java前途是有的,Java流行的网络编程语言之一,....
的头像 如意 发表于 10-23 16:25 463次 阅读
学习Java有前途吗?Java岗位饱和了吗?这篇文告诉你!

Python受欢迎程度直上升 即将超过Java

来自:程序猿(ID:imkuqin) TIOBE已公布2020年10月的编程语言排行榜。C语言依然排....
的头像 人工智能与大数据技术 发表于 10-23 10:41 452次 阅读
Python受欢迎程度直上升 即将超过Java

2020年10月编程语言排行榜:Python即将超过Java

来源:菜鸟教程 TIOBE 2020 年 10 月份的编程语言排行榜已经公布,官方的标题是:Pyth....
的头像 inr999 发表于 10-19 11:37 595次 阅读
2020年10月编程语言排行榜:Python即将超过Java

一文详解Java动态调试技术

调试是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。最常用的断点调试技术会在断点位置停顿,....
的头像 陈翠 发表于 10-18 11:33 610次 阅读
一文详解Java动态调试技术

一文知道Java中接口的定义

使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体....
发表于 10-16 15:44 215次 阅读
一文知道Java中接口的定义

关于Redis缓存的原因及解决方案

下面开始今天的正文,看见小小怎么辛苦的份上,滑到底下,给个素质三连? 缓存雪崩 缓存雪崩是指在某一个....
的头像 39度创意研究所 发表于 10-16 15:22 735次 阅读
关于Redis缓存的原因及解决方案

什么是堆,堆在整个Java集合框架中的作用

堆其实就是一种特殊的队列优先队列。 普通的队列游戏规则很简单:就是先进先出;但这种优先队列 搞特殊 ....
的头像 39度创意研究所 发表于 10-16 11:26 269次 阅读
什么是堆,堆在整个Java集合框架中的作用

基于Java开发的鸿蒙网络访问方面的代码

前言 过了一个漫长的中秋+国庆假期,大家伙的鸿蒙内功修炼的怎么样了?难道像小蒙一样,都在吃吃喝喝中度....
的头像 鸿蒙系统HarmonyOS 发表于 10-16 10:40 601次 阅读
基于Java开发的鸿蒙网络访问方面的代码

JAVA中常见的几个异常类型及处理方案

异常简介 先上个图,看一下常见的几个异常类型。 所有的异常都来自于Throwable。Throwab....
的头像 39度创意研究所 发表于 10-15 16:36 708次 阅读
JAVA中常见的几个异常类型及处理方案

JFinal的源代码资料合集

JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习....
发表于 10-15 08:00 51次 阅读
JFinal的源代码资料合集

盘点Java程序员不能错过的7个基本框架,完美构建复杂应用

现在IT开发人员面对的较大挑战就是复杂性,构建的应用越来越复杂。今天给大家列出Java程序员不能错过....
的头像 如意 发表于 10-14 11:54 458次 阅读
盘点Java程序员不能错过的7个基本框架,完美构建复杂应用

HarmonyOS技术特性及技术架构解析

HarmonyOS是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作....
的头像 鸿蒙系统HarmonyOS 发表于 10-13 12:31 855次 阅读
HarmonyOS技术特性及技术架构解析

2020年9月程序员工资最新统计,你了解了吗

链接:https://blog.csdn.net/juwikuang/article/details....
的头像 算法与数据结构 发表于 10-10 17:05 767次 阅读
2020年9月程序员工资最新统计,你了解了吗

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

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

PostgreSQL 13正式发布

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

甲骨文和谷歌的Java版权之争终迎来结局,安卓能否继续使用Java?

据外媒报道,美国最高法院于当地时间 7 日,开始审理谷歌公司和甲骨文公司有关安卓手机程序中代码版权纠....
的头像 如意 发表于 10-10 09:13 571次 阅读
甲骨文和谷歌的Java版权之争终迎来结局,安卓能否继续使用Java?

啊哈C语言的PDF电子书免费下载

啊哈C语言是一本非常有趣的编程启蒙书,《啊哈C语言》从中小学生的角度来讲述,没有生涩的内容,取而代之....
发表于 10-10 08:00 116次 阅读
啊哈C语言的PDF电子书免费下载

一文详解Java对象的内存布局

这个实例对象是以怎样的形态存在内存中的? 一个Object对象在内存中占用多大? 对象中的属性是如何....
发表于 09-30 14:38 146次 阅读
一文详解Java对象的内存布局

如何在鸿蒙OS上跑起来第一个hello world

咱们一起来跟着一位网友学习一下如何跑起来第一个hello world,原文如下: 前序 1.1 官网....
的头像 电子发烧友网工程师 发表于 09-28 10:55 454次 阅读
如何在鸿蒙OS上跑起来第一个hello world

jvm的类加载器的整体结构及过程解析

前言 我们很多小伙伴平时都是做JAVA开发的,那么作为一名合格的工程师,你是否有仔细的思考过JVM的....
的头像 39度创意研究所 发表于 09-27 15:49 756次 阅读
jvm的类加载器的整体结构及过程解析

2020年Java开发岗位受欢迎的有哪些?这篇文章将告诉你答案

2020年Java开发岗位受欢迎的有哪些?目前计算机专业的大学生想成为Java工程师,参加以实战项目....
的头像 如意 发表于 09-26 10:28 416次 阅读
2020年Java开发岗位受欢迎的有哪些?这篇文章将告诉你答案

Linux系统中JAVA创建文件后权限不足应该如何解决

在作业中,项目使用文件上传。 这个功能很常见。 当Kai Ge今天更改其官方帐户时,他遇到了一个问题....
发表于 09-26 09:06 278次 阅读
Linux系统中JAVA创建文件后权限不足应该如何解决

Join在Spark中是如何组织运行的

Join作为SQL中一个重要语法特性,几乎所有稍微复杂一点的数据分析场景都离不开Join,如今Spa....
的头像 人工智能与大数据技术 发表于 09-25 11:35 279次 阅读
Join在Spark中是如何组织运行的

更进一步学习MySQL

138 张图带你 MySQL 入门 中主要介绍了基本的 SQL 命令、数据类型和函数,在具备以上知识....
的头像 数据分析与开发 发表于 09-24 16:04 317次 阅读
更进一步学习MySQL

列表解释关系模型

关系模型(Relational model)由 E.F.Codd 博士于 1970 年提出,以集合论....
的头像 数据分析与开发 发表于 09-24 15:04 229次 阅读
列表解释关系模型

Danfo.js提供高性能、直观易用的数据结构,支持结构化数据的操作和处理

Danfo.js 是个 JavaScript 开源库,提供了高性能、直观易用的数据结构,支持结构化数....
的头像 TensorFlow 发表于 09-23 18:21 871次 阅读
Danfo.js提供高性能、直观易用的数据结构,支持结构化数据的操作和处理

微软正努力将Java移植到基于ARM的Mac和Windows设备上

和诸多重要开发者一起,微软正努力将Java移植到基于ARM的Mac和Windows设备上,其中就包括....
的头像 如意 发表于 09-23 17:46 428次 阅读
微软正努力将Java移植到基于ARM的Mac和Windows设备上

基于Java JEP数量随着迭代的加速更加容易应对?

在六个月的节奏下,交付可用于生产的 JDK 新版本的速度已大大提高。而不是每隔几年在大型主要版本中发....
的头像 lhl545545 发表于 09-23 11:16 607次 阅读
基于Java JEP数量随着迭代的加速更加容易应对?