ORACLE索引被抑制情況
前言、在做資料庫調優的很多情況下,都可以通過增加索引來提高資料庫的效能,但是有些情況下DBA也是無能為力的,因為該有的索引都已經建立了,但是由於開發人員所寫的SQL語句的問題導致不能走索引,那麼這種情況下就需要修改語句來;
測試環境的說明:
情況一、TO_CHAR和TO_DATE的使用
以下兩條語句實現的功能都是一樣的,但是兩條的執行計劃是不一樣的,有一條會走索引,還有一條不走索引:
select count(*) From JOHN WHERE LASTRUNTIME>TO_DATE('2014-03-05 11:00:00','yyyy-MM-dd HH24:mi:ss');
select count(*) From JOHN WHERE TO_CHAR(LASTRUNTIME,'yyyy/MM/dd HH24:mi:ss')>'2014-03-05 11:00:00';
原因:JOHN_TIME索引記錄的是DA他的值,而不是to_char後的值,所以語句一會走索引,語句二走全表掃描;
情況二、在條件中使用表示式
select count(*) From JOHN WHERE LASTRUNTIME>SYSDATE-100;
select count(*) From JOHN WHERE LASTRUNTIME-100>SYSDATE;
原因:JOHN_TIME索引記錄的是DA他的值,而不是DATA-100後的值;
總結:1、不要輕易在欄位前增加函授;
2、儘量不要將欄位嵌入到表示式中;
總而言之:就是有索引的那列不能進行任何的相關操作,單獨的放在等式的一邊;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
本文作者:JOHN
ORACLE技術部落格:ORACLE 獵人筆記 資料庫技術群:367875324 (請備註ORACLE管理 )
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-1175609/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12.2中的索引統計被呼叫情況Oracle索引
- oracle order by索引是否使用的情況Oracle索引
- oracle組合索引什麼情況下生效?Oracle索引
- Oracle like、不等於、隱式轉換走索引與不走索引情況Oracle索引
- mysql索引失效的情況MySql索引
- MySQL哪些情況需要新增索引?MySql索引
- mysql索引不會命中的情況MySql索引
- [20231024]NULL值在索引的情況.txtNull索引
- 使用聯合索引的一種情況索引
- Mysql 會導致索引失效的情況MySql索引
- MYSQL索引失效的各種情況小結MySql索引
- 哪些情況下需要/不需要建立索引索引
- 在oracle中監視索引的使用情況Oracle索引
- 簡單介紹MySQL索引失效的幾種情況MySql索引
- 盤一盤常見的6種索引失效情況索引
- 檢視錶和索引碎片情況相關資訊索引
- oracle dg 歸檔日誌恢復情況Oracle
- ubuntu 下解決埠被佔用的情況Ubuntu
- Java類什麼情況下被初始化?Java
- Android下檢視SO庫被依賴的情況Android
- 【STAT】Oracle 表統計資訊被鎖,如何建立索引Oracle索引
- Oracle RAC中驗證LUN_ID對應情況Oracle
- oracle v$sqlare 分析SQL語句使用資源情況OracleSQL
- 4.3.4.1 在不使用Oracle OMF的情況下建立CDBOracle
- Oracle 索引Oracle索引
- 【TUNE_ORACLE】列出索引被哪些SQL引用的SQL參考Oracle索引SQL
- Oracle索引梳理系列(六)- Oracle索引種類之函式索引Oracle索引函式
- 在不安裝oracle客戶端的情況下,使用PLSQLOracle客戶端SQL
- oracle的索引Oracle索引
- Oracle 指令碼 線上哪些索引從來沒有被使用過Oracle指令碼索引
- 什麼情況下需要建立索引? 索引的作用?為什麼能夠提高查詢速度?(索引的原理) 索引有什麼副作用嗎?索引
- Oracle 無備份情況下undo檔案損壞處理Oracle
- Oracle11g RAC啟動關閉情況大概總結Oracle
- 【TUNE_ORACLE】檢視系統CPU和IO情況SQL參考OracleSQL
- oracle重建索引(一)Oracle索引
- oracle重建索引(三)Oracle索引
- 0707_oracle 索引Oracle索引
- oracle重建索引(二)Oracle索引
- Oracle OCP(25):索引Oracle索引