SQL 查找是否存在,别再 COUNT 了,很耗费时间的
点击上方“朱小厮的博客”,选择“设为星标”
后台回复"书",获取
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写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,没有什么问题
优化方案
推荐写法如下:
##### SQL写法:
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,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了
业务代码中直接判断是否非空即可
想知道更多?扫描下面的二维码关注我
后台回复"技术",加入技术群
【精彩推荐】
原创|OpenAPI标准规范
如此简单| ES最全详细使用教程
ClickHouse到底是什么?为什么如此牛逼!
原来ElasticSearch还可以这么理解
面试官:InnoDB中一棵B+树可以存放多少行数据?
微服务下如何解耦?对于已经紧耦合下如何重构?
如何构建一套高性能、高可用、低成本的视频处理系统?
架构之道:分离业务逻辑和技术细节
星巴克不使用两阶段提交
点个赞+在看,少个 bug ????
SQL 查找是否存在,别再 COUNT 了,很耗费时间的相关推荐
- SQL 查找是否“存在“,别再count了
你们查询数据库表中存不存在的某条数据的时候,是不是还在用select count(*) 普通写法 #### SQL写法: SELECT count(*) FROM table WHERE a = 1 ...
- SQL查找是否存在,别再count了,很耗费时间的
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:http://suo.im/5T1tGv 根据某一条件从数据 ...
- idea怎么看sql执行打印_SQL查找是否quot;存在quot;,别再count了,很耗费时间的
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢? 无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的 ...
- 数据库优化:SQL 查找是否存在,别再 count 了,很耗费时间的!
目前多数人的写法 优化方案 总结 根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢? 无论是刚入道的程序员新星,还是精湛沙 ...
- SQL 查找是否存在,别再 count 了,很耗费时间的!
作者:程序猿囧途 来源:toutiao.com/i6826511837840802315 根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT co ...
- SQL查找是否存在,别再count了!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:http://suo.im/5T1tGv 根据某一条 ...
- SQL 查找重复记录
SQL 查找重复记录 CREATE TABLE product ( ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL, Pid INT NOT NULL, Pn ...
- 老问题,SQL保存图片。保存以后再读出来,发现stream的大小不一致。虽然老,但没搜到结果。...
老问题,SQL保存图片.保存以后再读出来,发现stream的大小不一致.虽然老,但没搜到结果. Delphi / Windows SDK/API http://www.delphi2007.net/D ...
- 【MySQL】基于MySQL的SQL优化(二)——对count()、max()的优化
*本文章使用数据均来自MySQL样本数据库Sakila,参考:https://blog.csdn.net/tanglei6636/article/details/93042010 max(): 通过一 ...
最新文章
- mysql模糊查询的优化方法--亲自实践
- ORACLE TEXT LEXER PREFERENCE(三)
- Linux中硬盘转速查看
- python(33)多进程和多线程的区别
- python深拷贝一个对象_Python中的深拷贝和浅拷贝以及存在的问题
- cmake 在安装mysql_cmake安装mysql
- 片段中的findViewById
- 201903版的idea markdown无法预览的问题
- springBoot微信支付(native)基本使用
- 如何采集企业信息公示系统
- 手把手教你如何建立U盘免疫文件夹
- 集成 React Native 到现有Android项目
- siebel基础配置
- symbian学习笔记
- 国密Fabric-ca集群负载均衡
- 带你玩东方外传系列一 ~ 十游戏链接
- gantt/甘特图完整代码(带注释,可以复制)
- Import Legacy CCSv3.3 Project到CCS5.5.0时出错
- 结对编程java实现四则运算(张铭 吴昊)
- datagirdview的单元格双击事件