資料庫中儲存了海量的資料,當查詢時使用like,速度明顯變慢。我在做專案時,發現可以使用instr函式來取代like的作用。
1.%a%方式:
select * from pub_yh_bm t
where instr(t.chr_bmdm,'2')>0
等份於:
select * from pub_yh_bm t
where t.chr_bmdm like '%2%'
2.%a方式:
select * from pub_yh_bm t
where instr(t.chr_bmdm,'110101')=length(t.chr_bmdm)-length('110101')+1
等份於:
select * from pub_yh_bm t
where t.chr_bmdm like '%110101'
3.a%方式:
select * from pub_yh_bm t
where instr(t.chr_bmdm,'11010101')=1
等份於:
select * from pub_yh_bm t
where t.chr_bmdm like '11010101%'
ORACLE中LIKE語句優化
1 盡量不要使用 like 2。對於 like 不以 開頭 oracle 可以應用 colunm 上的index 3。對於 like 的 不以 結尾 可以利用 reverse function index 的形式,變化成 like 建測試表和 index 注意,重點在於帶 reverse 的func...
oracle 中模糊查詢 like
oracle中模糊查詢用like與萬用字元 實現 1 字段 like 關鍵字 字段包含 關鍵字 的記錄 2 字段 like 關鍵字 欄位以 關鍵字 開始的記錄 3 字段 like 關鍵字 欄位以 關鍵字 結束的記錄 如果要找出乙個欄位中既有 關鍵字1 又有 關鍵字2 可以用and條件 如果要找出乙個...
ORACLE中LIKE語句優化
1。盡量不要使用like 2。對於like 不以 開頭 oracle 可以應用colunm 上的index 3。對於like 的 不以 結尾 可以利用reverse function index 的形式,變化成like 建測試表和index 注意,重點在於帶reverse 的function ind...