Oracle索引失效-like
在sql語句中like時需要特別注意,有可能會使索引失效
[@more@]測試:
建表,然後在測試欄位上加索引
SELECT * FROM BASE_ROLE e
WHERE e.role_name LIKE '%角%'
欄位上role_name上有索引,但卻走的是全表掃描
SELECT * FROM BASE_ROLE e
WHERE e.role_name LIKE '角%'
這種情況下使用索引
SELECT * FROM BASE_ROLE e
WHERE e.role_name LIKE '%角'
這種情況也不走索引
總結:
1.儘量不要使用like '%..%',無法最佳化
2.對於 like '..%..' (不以 % 開頭),Oracle可以應用 colunm上的index
3.對於 like '%...' 的 (不以 % 結尾),可以利用reverse + function index 的形式,變化成 like '..%',這種情況我測試了發現也沒有走索引,不知道是不是oracle哪裡設定的問題
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25261409/viewspace-1056560/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 使用 like "%x",索引一定會失效嗎?MySql索引
- Oracle like、不等於、隱式轉換走索引與不走索引情況Oracle索引
- 索引失效場景索引
- MySql ORDER BY索引是否失效MySql索引
- [資料庫]索引失效資料庫索引
- 驗證Oracle 10g線上整理碎片索引是否失效過程Oracle 10g索引
- oracle交換分割槽所引起的索引失效問題探究測試Oracle索引
- mysql索引失效的情況MySql索引
- 探索MySQL的InnoDB索引失效MySql索引
- Mysql索引失效問題demoMySql索引
- MySQL學習筆記:索引失效MySql筆記索引
- Oracle 索引Oracle索引
- 面試官:聊聊索引失效?失效的原因是什麼?面試索引
- 建立索引後,速度變快原因?以及索引失效總結索引
- Oracle索引梳理系列(六)- Oracle索引種類之函式索引Oracle索引函式
- Oracle 9i升級19C 遷移關於失效索引的梳理方法Oracle索引
- MySQL系列:索引失效場景總結MySql索引
- MySQL索引失效行鎖變表鎖MySql索引
- MySQL索引失效之隱式轉換MySql索引
- oracle的索引Oracle索引
- [20230908]Oracle Index Range Scan with LIKE Condition on Wildcard '_'.txtOracleIndex
- 聊一聊MySQL索引失效的問題MySql索引
- Mysql 會導致索引失效的情況MySql索引
- ORACLE編譯失效物件小結Oracle編譯物件
- oracle重建索引(一)Oracle索引
- oracle重建索引(三)Oracle索引
- 0707_oracle 索引Oracle索引
- oracle重建索引(二)Oracle索引
- Oracle OCP(25):索引Oracle索引
- Oracle虛擬索引Oracle索引
- Oracle:全文索引Oracle索引
- MYSQL索引失效的各種情況小結MySql索引
- 【DB筆試面試352】在Oracle資料庫中,哪些操作會導致索引失效?--UNUSABLE INDEXES筆試面試Oracle資料庫索引Index
- 【TUNE_ORACLE】Oracle索引設計思想(四)三星級索引Oracle索引
- 【TUNE_ORACLE】Oracle索引設計思想(二)索引過濾列概述Oracle索引
- oracle索引核心過程Oracle索引
- oracle之 反向鍵索引Oracle索引
- Oracle的全文索引Oracle索引
- 【TUNE_ORACLE】Oracle索引設計思想(一)索引片和匹配列概述Oracle索引