成都网站建设设计

将想法与焦点和您一起共享

SQL如何实现查找是否存在功能-创新互联

这篇文章主要为大家展示了“SQL如何实现查找是否存在功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL如何实现查找是否存在功能”这篇文章吧。

创新互联建站长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为邵东企业提供专业的成都网站设计、网站建设邵东网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

SQL查找是否"存在",别再count了,很耗费时间的
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢?
SQL如何实现查找是否存在功能
无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的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写法:
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如何实现查找是否存在功能-创新互联
网页网址:http://chengdu.cdxwcx.cn/article/dcohjj.html