您的位置:首頁技術文章
文章詳情頁

在Oracle中監控和跟蹤索引使用情況

瀏覽:3日期:2023-11-15 18:43:03
在 Oracle9i 之前,監控索引使用的唯一方法是執行他們的程序庫緩中的所有SQL,然后手工記下所有被使用的索引。 最近的研究發現 Oracle 數據庫所使用的索引從來沒有達到過可用索引數的1/4,或者其用法與其開始設計的意圖不相同。未用的索引浪費空間,而且還會降低 DML 的速度,尤其是 UPDATE 和 INSERT 語句。 Oracle9i提供一個簡單的方法來打開和關閉索引使用跟蹤,那就是MONITORING USAGE 子句: alter index cust_name_idx monitoring usage;alter index cust_name_idxnomonitoring usage; 這個命令使用V$OBJECT_USAGE 視圖和 USAGE 字段來判定索引是否被訪問過。你可能期望 USAGE 字段是一個數字值,這樣你就可以知道索引被使用的次數,但不幸的是,它的取值只為YES 或NO。 但不管怎樣,假如你接手一個以前開發的數據庫,而且老數據庫在沒有考慮到 SQL 訪問表的情況下創建了索引,那么這個工具對你是很有用的。INDEX MONITORING 特性的開銷非常小,而對定位和丟棄不需要的索引很有幫助。 下面是一個打開整個方案的索引監控的簡單 SQL*Plus 腳本: 在 Oracle9i 之前,監控索引使用的唯一方法是執行他們的程序庫緩中的所有SQL,然后手工記下所有被使用的索引。 set pages 999set heading offspool run_mon.sqlselect  'alter index '  index_name  ' monitoring usage;'from  dba_indexeswhere  owner = 'SCOTT';spool off@run_mon
標簽: Oracle 數據庫
国产综合久久一区二区三区