sql语句查询,多字段like模糊查询优化

1、 多字段like模糊查询优化:
最常见的写法:where  a like '%xx%' or b like '%xx%' or c like '%xx%';  这种写法查询效率低,经过调查,下面的方法可以替代,并且效率高:
1、如果like的关键字相同:
where instr(nvl(a, '')||nvl(b,'')||nvl(c,''),   'xx') > 0
把要模糊查询的字段先拼接起来,拼接时需要把null转成‘’,否则只要有一个字段值是空,整个拼接的字符串都成空了, 然后用instr 函数去过滤;
2、如果like的关键字不同:
where instr(a, 'xx') > 0  or  instr(b, 'yy') > 0  or instr(c, 'zz') > 0 
经过测试,这两种方法都比like效率要高;
 

 

 

from:https://blog.csdn.net/zhujianpengzha/article/details/52711554

posted @   幽冥狂_七  阅读(2078)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示