清理Oracle中無用索引改善DML效能
DML效能低下,其中最嚴重的原因之一是無用索引的存在。所有SQL的插入、更新和刪除操作在它們需要在每一行資料被改變時修改大量索引的時候會變得更慢。
許多Oracle管理人員只要看見在一個SQL 查詢的WHERE語句出現了一列的話就會為它分配索引。雖然這個方法能夠讓SQL執行得更快速,但是基於功能的Oracle索引使得資料庫管理人員有可能在資料表的行上過度分配索引。過度分配索引會嚴重影響關鍵Oracle資料表的效能。
在Oracle9i出現以前,沒有辦法確定SQL查詢沒有使用的索引。讓我們看看Oracle9i提供了什麼樣的方法讓你找到這些索引並刪除它們。
過程是相當簡單的。Oracle9i有一個工具能夠讓你使用ALTER INDEX命令監視索引的使用。然後你可以查詢這些沒有使用的索引並從資料庫裡刪除它們。
下面是一段指令碼,它能夠開啟一個系統中所有索引的監視功能:
set pages 999; set heading off; spoolrun_monitor.sql select 'alter index '||owner||'.'||index_name||' monitoring usage;' from dba_indexes where owner not in ('SYS','SYSTEM','PERFSTAT') ; spool off; @run_monitor |
你需要等待一段時間直到在資料庫上執行了足夠多的SQL語句以後,然後你就可以查詢新的V$OBJECT_USAGE檢視:
select index_name, table_name, mon, used from v$object_usage; |
在V$OBJECT_USAGE有一列被稱作USED,它的值是YES或者NO,它不會告訴你Oracle使用了這個索引多少次,但是這個工具對於找出沒有使用的索引還是很有用的
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 清除Oracle中無用索引 改善DML效能Oracle索引
- 清除Oracle中無用索引,改善DML效能Oracle索引
- oracle dml與索引index(一)Oracle索引Index
- oracle清理無用的sql資訊OracleSQL
- oracle全文索引之commit與DML操作Oracle索引MIT
- Oracle效能調整之--DML語句效能調整Oracle
- oracle點陣圖索引對DML操作的影響Oracle索引
- 索引在ORACLE中的應用分析索引Oracle
- 採用直方圖改善SQL執行效能直方圖SQL
- Oracle Parallel DMLOracleParallel
- 無索引的外來鍵之主表子表DML操作實驗及結論索引
- 通過基準配置檔案改善應用效能
- ORACLE 9i資料庫優化案例(4) --- 索引改善UPDATEOracle資料庫優化索引
- 不可見索引在表DML操作過程中依然被維護索引
- ORACLE 分割槽索引UNUSABLE導致的DML操作失敗引起的血案Oracle索引
- Oracle效能優化之虛擬索引Oracle優化索引
- 如何改善應用啟動效能 | Facebook 應用的經驗分享
- Oracle分批提交DMLOracle
- Oracle優化案例-分割槽索引之無字首索引(六)Oracle優化索引
- 清理無用的 Android 專案資源Android
- Oracle效能最佳化之虛擬索引Oracle索引
- 【oracle 效能優化】組合索引查詢。Oracle優化索引
- ORACLE索引與高效能SQL介紹Oracle索引SQL
- Oracle中定位資料表的最近DML時間Oracle
- Oracle中的B樹索引Oracle索引
- 如何清理電腦c盤中沒有用的東西 怎麼樣清理c盤無用檔案和垃圾
- 轉載--oracle DML鎖Oracle
- 【INDEX】注意:不可見索引在表DML操作過程中依然被維護Index索引
- 怎麼樣清理c盤無用檔案和垃圾 c盤清理技巧分享
- 清理 iOS 專案無用的圖片資源iOS
- 清理ios專案無用的圖片資源iOS
- GPU.js助您改善JavaScript效能GPUJSJavaScript
- 透過 ulimit 改善系統效能MIT
- 30. 使用MySQL之改善效能MySql
- (轉)ORACLE索引與高效能SQL介紹Oracle索引SQL
- Oracle 11.2.0.4 awr過期快照無法自動清理Oracle
- oracle碎片清理Oracle
- 【效能優化】CBO,RBO在ORACLE中的應用優化Oracle