SQL查找是否存在SQL正确使用

简介: SQL查找是否存在SQL正确使用
业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的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,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了
 
业务代码中直接判断是否非空即可


相关文章
|
9月前
|
SQL 关系型数据库 MySQL
13SQL - SQL通配符
13SQL - SQL通配符
40 0
|
2月前
|
SQL 关系型数据库 MySQL
SQL命令
【5月更文挑战第21天】SQL命令
30 3
|
2月前
|
SQL 数据库 索引
八、SQL-Limite
八、SQL-Limite
29 0
|
12月前
|
SQL 存储 关系型数据库
SQL语句大全,所有的SQL都在这里
SQL语句大全,所有的SQL都在这里
|
12月前
|
SQL 程序员 数据库
sql 总结
一对多:在多的表中添加建立关系的字段(外键)指向另外一张表。如果需要查询一张表的全部和另外一张表的交集时,使用外连接,连表查询(左外连接)(显示左表的全部信息和右表相关联的信。连表查询(右外连接)(显示右表的全部信息和左表相关联的信。等值连接和内连接查询的是两个表的交集数据,推荐使用内连接。:选择插入必须选择需要插入的字段,选择对应字段的值,批量。查询所有部门的名称,地点和对应的员工姓名和工资。等值连接和内连接查询到的都是两张表的交集数据。外连接查询的是一张表的全部和另外一张表的交集。
101 0
|
SQL Oracle 关系型数据库
【SQL系列】查找相同的行
【SQL系列】查找相同的行
193 0
8个实用SQL操作小技巧
SQL在使用过程中,经常会遇到一些奇奇怪怪的小问题,今天给大家总结一下常见的几个问题该如何处理。
8个实用SQL操作小技巧
|
SQL 存储 缓存
或许你不知道的12条SQL技巧
或许你不知道的12条SQL技巧