Oracle優化 恰當使用like關鍵字

2021-06-07 12:02:34 字數 692 閱讀 3271

這篇文章非原創,都是我從網上彙總再加上自己的專案經驗得出來的,感謝那些牛人們!

oracle中使用like的基本原則和注意事項

1、盡量避免使用like 」%###%」這種形式的sql,因為它會導致索引無效(#代表常量,下同),可以通過instr()做出同樣的效果,優點是oracle可以使用索引,例如:

select * from test_tab where columnname = instr(columnname ,'###');
2、

對於like 「###%」這種形式的sql,oracle可以應用索引,例如:

select * from test_tab where columnname like '###%';
3、

對於不以常量開頭的條件,即like 「%###」這種形式的sql,oracle不能應用索引,但是可以使用reverse()加函式索引,舉例:

create index tab_ column_reverse on test_tab(reverse(columnname));

select * from test_tab where reverse(columnname) like reverse('%###');

這就是我現在在專案中使用的優化方法了,大家有什麼要說的嗎?^_^

使用INSTR替換mysql裡面的like

mysql裡面的like如果是左右模糊不可以使用索引導致查詢效率極低,這時候我們就可以使用orcal裡面的instr來處理使效率提高 這段sql是乙個左右模糊查詢 select from t case where name like concat 測試 使用instr來替代 select from ...

程式設計好習慣 恰當使用goto語句

goto 語句在c c 語言中可謂是 臭名昭著 乃至有的書 或公司的程式設計規範 提出禁用goto語句的說法。其結果就是,造成有的程式設計師一看到goto語句 在某程式中被使用,就本能地認為這個程式寫得很 垃圾 此外,也使得有些程式設計師因為使用了goto語句而覺得自己很不專業。其實,凡事都不能太偏...

優雅使用函式,使其順序恰當,搭配合理

函式的使用涉及很多邏輯合理性的內容,優秀的 邏輯清晰,簡潔,函式呼叫恰當,記憶體占用小,cpu計算量小,方方面面涉及很多技巧和思維方式,需要程式設計師多讀 多思考,勤試錯。這篇 總覺得還有很多需要優化的地方,但總是邏輯不清,搞不明白修改 合適,怎麼修改?先貼上來,以後有思路再做調整。需求是這樣的 從...