Oracle 21c DBA_INDEX_USAGEを使ってインデックスが利用されているのか調べる方法
環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0
A5:SQL Mk-2
説明
DBA_INDEX_USAGEについて
DBA_INDEX_USAGEは、各索引の累積統計を示します。
NAME 索引名
OWNER 索引の所有者
TOTAL_ACCESS_COUNT 索引にアクセスされた合計回数 TOTAL_ROWS_RETURNED 索引によって戻された合計行。 TOTAL_EXEC_COUNT 索引が関与した実行の合計
SQL構文
select diu.OBJECT_ID , diu.NAME , diu.OWNER , diu.TOTAL_ACCESS_COUNT , diu.TOTAL_EXEC_COUNT , diu.TOTAL_ROWS_RETURNED , diu.LAST_USED , cft.TABLE_OWNER , cft.TABLE_NAME , do.CREATED , do.LAST_DDL_TIME from DBA_INDEX_USAGE diu inner join dba_users du on diu.OWNER = du.USERNAME and du.COMMON = 'NO' inner join dba_objects do on diu.OWNER = do.OWNER and diu.NAME = do.OBJECT_NAME and do.OBJECT_TYPE = 'INDEX' inner join dba_indexes cft on diu.OWNER = cft.OWNER and diu.NAME = cft.INDEX_NAME order by diu.LAST_USED desc;