千家信息网

SQL别用count查找是否存在的示例分析

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本篇文章给大家分享的是有关SQL别用count查找是否存在的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。根据某一条件从数据库表
千家信息网最后更新 2024年09月22日SQL别用count查找是否存在的示例分析

本篇文章给大家分享的是有关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 写法的怀疑态度

优化方案

推荐写法如下:

##### 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,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了

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

SQL 查询速度大大提升

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

以上就是SQL别用count查找是否存在的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

代码 写法 查询 条件 示例 别用 分析 业务 数据 数据库 更多 知识 程序 程序员 篇文章 实用 精湛 一如既往 只有 多个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 历年重大网络安全事件 上海安装软件开发服务电话 魔法觉醒不同服务器能一起拍照吗 通讯技术软件开发 计算机网络技术刘含敏王存祥 海康威视超脑服务器作用 硬件设施软件开发 天玑数据库一体机怎么样 计算机网络技术实训软件 语音识别软件开发过程 计算机网络安全检查检测整改 台湾服务器托管云主机 手机共享网络连接服务器失败 网络安全节目观众后感 数据库技术与应用小心得 网络安全与秩序 网络技术机考考试 宝酷网络技术有限公司怎么样 python程序服务器部署 共建网络安全国旗下讲话 网络安全和软件开发前景 谷粒商城1核2G的服务器够吗 公司内部网络安全题库 网络安全宣传周版面高清 全国农业企业技术人才数据库 大话西游天价流萤服务器那里 仿牌抗投诉服务器 网络安全法规定的工作流程 大学网络安全周方案 数据库的初学者
0