分享兩個實用腳本 一鍵查看索引歷史使用情況
作者:波波說運維
假設這么一個場景,有一張表建了很多索引,我們可以怎么通過觀察索引歷史使用記錄,來看是不是可以刪除一些多余索引呢?下面介紹兩個實用的腳本。
假設這么一個場景,有一張表建了很多索引,我們可以怎么通過觀察索引歷史使用記錄,來看是不是可以刪除一些多余索引呢?下面介紹兩個實用的腳本:
查看當前索引使用情況
- SELECT p.object_name, p.operation, p.options, COUNT(1)
- FROM v$sql_plan p, v$sql s
- WHERE p.object_owner <> 'SYS'
- AND p.OBJECT_NAME in
- (select index_name
- from dba_indexes
- where table_name = 'S_SHIP_UNIT_LINE')
- AND p.sql_id = s.sql_id
- GROUP BY p.object_name, p.operation, p.options
- ORDER BY 1, 2, 3;
查看歷史索引使用情況
- SELECT p.object_name, p.operation, p.options, COUNT(1)
- FROM dba_hist_sql_plan p, dba_hist_sqlstat s
- WHERE p.object_owner <> 'SYS'
- AND p.object_name in
- (select index_name
- from dba_indexes
- where table_name = 'S_SHIP_UNIT_LINE')
- AND p.sql_id = s.sql_id
- GROUP BY p.object_name, p.operation, p.options
- ORDER BY 1, 2, 3;
責任編輯:趙寧寧
來源:
今日頭條