2020-07-24 如何高效检索数据库中是否存在某些数据
2020-07-24 本文已影响0人
小苏c
如何高效的检索数据库中是否存在某些数据?
一般第一想法是count一下:
SELECT COUNT(*) FROM sys_log WHERE uri LIKE '/%'; 然后业务逻辑中判断 返回值是否大于0;
int nums = xxDao.countXxxxByXxx(params);
if ( nums > 0 ) {
//当存在时,执行这里的代码
} else {
//当不存在时,执行这里的代码
}
这样sql语句相对来说效率不高。可以优化为
SELECT 1 FROM sys_log WHERE uri LIKE '/%' LIMIT 1; 遇到一行符合的就直接返回。
##### 业务逻辑:
Integer exist = xxDao.existXxxxByXxx(params);
if ( exist != NULL ) {
//当存在时,执行这里的代码
} else {
//当不存在时,执行这里的代码
}
这里我测试的表数据总量9000左右,表数据量越大效果越明显
测试