根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要select count(*) 呢?
无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count.
目前多数人的写法
多次 review 代码时,发现如现现象:
业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下
SQL写法:
Java写法:
是不是感觉很OK,没有什么问题
优化方案
推荐写法如下:
SQL写法:
Java写法:
SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了
业务代码中直接判断是否非空即可
总结
根据查询条件查出来的条数越多,性能提升的越明显,在某些情况下,还可以减少联合索引的创建。
责任编辑人:CC
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
原文标题:SQL判断是否"存在",还在用 count 操作?很耗时的!
文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。
相关推荐
1嵌入式SQL嵌入式SQL是指将SQL语言嵌入到程序设计语言中,被嵌入得程序设计语言如C、C++、java等称为宿主语言预编译:由数据库管理系统得预处理程序队源程序进行扫描,识别出嵌入
发表于 11-09 06:24
网络的广泛应用给社会带来极大便捷,网络安全特别是SQL 注入也成为了一个倍受关注的问题。与此同时,Java Web 由于其平台无关性、“一次编写、随处运行”,使得越来越多的程序员加入到Java 当中。本文在分析了
发表于 02-26 15:59
•12次下载
本文档的主要内容详细介绍的是使用java语言导入SQL到MySql的源代码免费下载。
发表于 09-23 16:38
•3次下载
的count 目前多数人的写法 多次REVIEW代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及
发表于 07-26 10:57
•1789次阅读
1嵌入式SQL嵌入式SQL是指将SQL语言嵌入到程序设计语言中,被嵌入得程序设计语言如C、C++、java等称为宿主语言预编译:由数据库管理系统得预处理程序队源程序进行扫描,识别出嵌入
发表于 11-04 09:21
•17次下载
RushOrm 通过将 java 类映射到 SQL 表来取代对 SQL 的需求。 为什么要编写 RushOrm? 复杂的关系 - RushObjects 支持其他 RushObjects 的列表
发表于 04-13 09:59
•2次下载
这种写法是比较丑陋的,为了避免上述丑陋的写法,让丑陋的设计变得优雅。JAVA8提供了Optional类来优化这种写法,接下来的正文部分进行详细说明
发表于 04-24 15:18
•853次阅读
SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少。新手代码审计者往往对Java Web应用的多个框架组合而心生畏惧,不知
发表于 10-17 11:16
•992次阅读
昨天在群里看到有小伙伴问,Java里如何解析SQL语句然后格式化SQL,是否有现成类库可以使用?
发表于 04-10 11:59
•608次阅读
同样是利用 Mybatis 的 动态 SQL ,将 business_id 列表拼在一起、 ware_inside_code 拼在一起,类似如下
发表于 05-12 10:51
•388次阅读
基于JAVA+SQL电子通讯录带系统托盘(源代码及配置文档)
发表于 06-09 16:07
•0次下载
实现简单,SQL 也能走索引,而且只查询一次数据库,感觉可行
只是:有点不好理解,因为我们平时这么用的少,所以这种写法看起来很陌生
另外,行行比较是 SQL 规范,不是某个关系型数据库的规范,也就说关系型数据库都应该支持这种
发表于 07-17 09:51
•316次阅读
sql怎么用代码创建数据库 SQL是一种结构化查询语言,用于通过编程语言与数据库进行通信。它允许用户从数据库中检索、修改和删除数据。在本文中,我们将讨论如何使用SQL
发表于 08-28 17:09
•2239次阅读
Java项目防止SQL注入方式
这里总结4种:
PreparedStatement防止SQL注入
mybatis中#{}防止SQL注入
对请求参数的敏感词汇进行过滤
ngin
发表于 10-16 14:26
•235次阅读
INSERT INTO是MySQL中常用的一种SQL语句,用于将数据插入到表中。此文将详细介绍INSERT INTO语句的三种不同写法及其用途,并提供代码示例和相关解释。 正文: 一、基本插入
发表于 11-21 14:18
•2830次阅读
评论