SQL 查找是否"存在",别再 COUNT 了,很耗费时间的
SQL数据库开发
共 1006字,需浏览 3分钟
·
2020-11-20 19:57
点击关注上方“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,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了
业务代码中直接判断是否非空即可
来源:网络,未查到原作者
——End——
后台回复关键字:1024,获取一份精心整理的技术干货 后台回复关键字:进群,带你进入高手如云的交流群。 推荐阅读
精心整理了一套SQL高级函数,建议收藏 从今天起,职场再无带薪拉屎! 一款SQL自动检查神器,再也不用担心SQL出错了! SQL 语句中 where 条件后 写上1=1 是什么意思 国产数据库建模工具,看到界面第一眼,良心了! 这是一个能学到技术的公众号,欢迎关注 点击「阅读原文」了解SQL训练营
评论