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左右,表数据量越大效果越明显

测试
上一篇 下一篇

猜你喜欢

热点阅读