判断“存在“你还在用count吗,细节决定成败

简介: 为什么要用count(*)在我们实际开发中,业务 往往是 如:(判断该手机是否已经存在),我们为了提高程序的运行效率,这个时候都会使用

@[toc]
在这里插入图片描述

1. 为什么要用count(*)

在我们实际开发中,业务 往往是 如:(判断该手机是否已经存在),我们为了提高程序的运行效率,这个时候都会使用

select count(*) from sys_user where phone = '18217692100'

在这里插入图片描述

//而我们Java代码
Integer count = mapper.selectCount(phone);
//写业务代码
if(count != 0){
  ……
else{
  ……
}

2. 优化方案

select 1 from sys_user where phone = '1821762100' LIMIT 1

在这里插入图片描述

//而我们Java代码
Integer count = mapper.selectCount(phone);
//写业务代码
if(count != null){
  ……
else{
  ……
}
  • SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了
    业务代码中直接判断是否非空即可
  • 正所谓 ,细节决定成败 ,从速度上可以看出我们的优化方案快了好多

个人博客地址:http://blog.yanxiaolong.cn/

相关文章
|
8月前
|
Java 程序员 API
有经验的程序员都不会使用! = null 来做判断
有经验的程序员都不会使用! = null 来做判断
62 1
|
8月前
|
前端开发 索引
七大基本判断问题,你都get到了吗
七大基本判断问题,你都get到了吗
|
5月前
|
算法 C++
惊爆!KPM算法背后的秘密武器:一行代码揭秘字符串最小周期的终极奥义,让你秒变编程界周期大师!
【8月更文挑战第4天】字符串最小周期问题旨在找出字符串中最短重复子串的长度。KPM(实为KMP,Knuth-Morris-Pratt)算法,虽主要用于字符串匹配,但其生成的前缀函数(next数组)也可用于求解最小周期。核心思想是构建LPS数组,记录模式串中每个位置的最长相等前后缀长度。对于长度为n的字符串S,其最小周期T可通过公式ans = n - LPS[n-1]求得。通过分析周期字符串的特性,可证明该方法的有效性。提供的C++示例代码展示了如何计算给定字符串的最小周期,体现了KPM算法在解决此类问题上的高效性。
107 0
|
SQL 存储 安全
IPP swap螺旋上涨模式系统开发详细丨IPPswap螺旋上涨项目系统开发方案逻辑/案例介绍/源码说明
  什么是智能合约DApp   智能合约DApp是计算机程序,通过它,交易双方可以共同完成交易。如果在执行过程中发生了一系列变化,那么智能合约将会记录这些变化并自动执行这些变化。
|
小程序
如何做一个俄罗斯方块7:消除判断和处理
嗨!大家好,我是小蚂蚁。今天我们继续来了解下一个环节:消除判断和处理。因为消除判断和消除处理都比较简单,所以,这里我们就将这两个环节合并在一起讲解。
194 0
|
测试技术
字符串a和他许久未见面的同父异母的b(模拟)(思维)
字符串a和他许久未见面的同父异母的b(模拟)(思维)
91 0
|
数据可视化 测试技术 Python
sum() 函数性能堪忧,列表降维有何良方?
(1)sum() 函数的性能到底差多少,为什么会差?(2)既然 sum() 不是最好的列表降维方法,那是否有什么替代方案呢?
213 0
sum() 函数性能堪忧,列表降维有何良方?
|
JavaScript
小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
386 0
L2-029 特立独行的幸福 (25 分)(数组模拟)
L2-029 特立独行的幸福 (25 分)(数组模拟)
141 0
|
JavaScript 前端开发
【重温基础】18.相等性判断
【重温基础】18.相等性判断
227 0