Java教程

判断是否有数据的sql优化

本文主要是介绍判断是否有数据的sql优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*)呢? 多次REVIEW代码时,发现如现现象: 业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下 SQL写法 SELECT count(*) FROM table WHERE a = 1 AND b = 2 Java写法 int nums = xxDao.countXxxxByXxx(params); if ( nums > 0 ) {   //当存在时,执行这里的代码 } else {   //当不存在时,执行这里的代码 } 一般都是这么写的。   优化方案 推荐写法如下: SQL写法 SELECT 1 FROM table WHERE a = 1 AND b = 2 z Java写法 Integer exist = xxDao.existXxxxByXxx(params); if ( exist != NULL ) {   //当存在时,执行这里的代码 } else {   //当不存在时,执行这里的代码 } SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了 业务代码中直接判断是否非空即可   总结 根据查询条件查出来的条数越多,性能提升的越明显,在某些情况下,还可以减少联合索引的创建。
这篇关于判断是否有数据的sql优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!