最近项目上线了一个小的功能,业务逻辑非常简单,就是人员联想功能:2张表的关联模糊查询。
实现方案:就是无脑在sql中利用like模糊查询。
注意点:在业务数据量少的场景下,这样写没问题。但是如果数据量非常多,这样首先查询性能非常耗时,而且查询出来太多数据也不太符合公司内人员敏感信息安全规范和期望结果。
所以要对查询结果处理,我这里的处理方式就是利用limit限制查询条数,这样既符合敏感信息安全规范,也一定量提升了查询效率,避免对服务器内存造成过大压力。
select
a,
b,
c
from tempA
where
d like '%x%'
union all
select
a,
b,
c
from tempB
where
d like '%x%'
limit 100
总结:
有时候实现某个功能,需要多一点自己的思考,这样设计合不合理,性能如何,有没有更好的实现方案等等。