1、監視索引是否使用
除了主鍵是完整性約束而自動變為索引外,建立普通索引的目的就是為了提高查詢速度,如果我們建立了索引而沒有被使用,那麼這些不被使用的索引將起到阻礙效能的作用。
語法:
--檢查某個索引是否被使用
alter
index
index_name monitoring usage;
--檢查所有索引使用情況
select
*from
v$object_usage;
--刪除不使用的索引
drop
index index_name;
2、影響索引有效使用的因素
索引是一把雙刃劍,正確使用能大大提高查詢效率,但是錯誤使用也會造成嚴重效能問題。
(1)對索引字段進行函式操作或者運算操作;
(2)錯誤的使用索引字段型別。原因同(1)一樣。
示例,user_id是int型別,並且是索引字段
whereuser_id='
1285';
--資料庫會預設將語句轉換為
where to_char(user_id) =
'1285
'
Oracle Sql優化一例 利用函式索引
在awr報告中,發現有個sql效率很低 select batch status from t batch info where batch status 0 and sys id stm06 檢視執行計畫發現查詢利用了索引,索引中包含了batch status欄位,但是通過以下sql查詢 selec...
Oracle Sql優化筆記
基本的sql編寫注意事項 需要注意的是,隨著oracle的公升級,查詢優化器會自動對sql語句進行優化,某些限制可能在新版本的oracle下不再是問題。尤其是採用cbo cost based optimization,基於代價的優化方式 時。我們可以總結一下可能引起全表掃瞄的操作 oracle優化器...
Oracle Sql優化筆記
基本的sql 編寫注意事項 需要注意的是,隨著oracle的公升級,查詢優化器會自 動對sql語句 進行優化,某些限制可能在新版本的oracle下不再是問題。尤其是採用 cbo cost based optimization 基於代價的 優化方式 時。我們可以 總結一下可能引起全表 掃瞄的操作 or...