来源:网络
##### SQL写法:
SELECT count(*) FROM table WHERE a = 1 AND b = 2
##### Java写法:
int nums = xxDao.countXxxxByXxx(params);
if ( nums > ) {
//当存在时,执行这里的代码
} 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,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了
业务代码中直接判断是否非空即可
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69951031/viewspace-3126300/ ,如需转载,请注明出处,否则将追究法律责任。