Oracle sql 優化 索引監控

2022-03-29 18:42:59 字數 626 閱讀 7004

1、監視索引是否使用

除了主鍵是完整性約束而自動變為索引外,建立普通索引的目的就是為了提高查詢速度,如果我們建立了索引而沒有被使用,那麼這些不被使用的索引將起到阻礙效能的作用。

語法:

--

檢查某個索引是否被使用

alter

index

index_name monitoring usage;

--檢查所有索引使用情況

select

*from

v$object_usage;

--刪除不使用的索引

drop

index index_name;

2、影響索引有效使用的因素

索引是一把雙刃劍,正確使用能大大提高查詢效率,但是錯誤使用也會造成嚴重效能問題。

(1)對索引字段進行函式操作或者運算操作;

(2)錯誤的使用索引字段型別。原因同(1)一樣。

示例,user_id是int型別,並且是索引字段 

where

user_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...