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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM