Oracle 9i 提供了监控索引使用的功能。这个新的视图表示索引是否被引用,但不能反映索引使用的
频率。要监控的索引需要单独打开和关闭。可以使用alter index 命令来初始化监控工作,然后通过对视
图V$OBJECT_USAGE 的查询来实现索引的跟踪。下面的代码提供了V$OBJECT_USAGE 视图的描述。
SQL> desc v$object_usage
Name Null? Type
--------------- -------- ----------------------------
INDEX_NAME NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
MONITORING VARCHAR2(3)
USED VARCHAR2(3)
START_MONITORING VARCHAR2(19)
END_MONITORING VARCHAR2(19)
在监控任何索引前,这个视图没有任何记录:
select *
from v$object_usage;
no rows selected
开始监控4 个索引:
alter index HRDT_INDEX1 monitoring usage;
alter index HRDT_INDEX2 monitoring usage;
alter index HRDT_INDEX3 monitoring usage;
alter index HRDT_INDEX4 monitoring usage;
现在视图显示4 个索引的启动时间,但也同时指明它们并未被使用:
select index_name, table_name, monitoring, used,
start_monitoring, end_monitoring
from v$object_usage;
INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING
----------- ---------- --- --- ------------------- ------------------
HRDT_INDEX1 HRS_DETAIL YES NO 10/13/2002 03:11:34
HRDT_INDEX2 HRS_DETAIL YES NO 10/13/2002 03:11:38
304
HRDT_INDEX3 HRS_DETAIL YES NO 10/13/2002 03:11:46
HRDT_INDEX4 HRS_DETAIL YES NO 10/13/2002 03:11:52
如果使用HRDT_INDEX1 进行查询,视图则会显示该索引已经投入使用:
select index_name, table_name, monitoring, used,
start_monitoring, end_monitoring
from v$object_usage;
INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING
----------- ---------- --- --- ------------------- ------------------
HRDT_INDEX1 HRS_DETAIL YES YES 10/13/2002 03:11:34
HRDT_INDEX2 HRS_DETAIL YES NO 10/13/2002 03:11:38
HRDT_INDEX3 HRS_DETAIL YES NO 10/13/2002 03:11:46
HRDT_INDEX4 HRS_DETAIL YES NO 10/13/2002 03:11:52
结束了对HRDT_INDEX4 的监控,视图现在会显示监控的结束时间:
alter index HRDT_INDEX4 nomonitoring usage;
select index_name, table_name, monitoring, used,
start_monitoring, end_monitoring
from v$object_usage;
INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING
----------- ---------- --- --- ------------------- ------------------
HRDT_INDEX1 HRS_DETAIL YES YES 10/13/2002 03:11:34
HRDT_INDEX2 HRS_DETAIL YE NO 10/13/2002 03:11:38
HRDT_INDEX3 HRS_DETAIL YES NO 10/13/2002 03:11:46
HRDT_INDEX4 HRS_DETAIL NO NO 10/13/2002 03:11:52 10/13/2002 03:16:01
技巧:
使用V$OBJECT_USAGE 视图来查看索引是否已被使用。也许某些索引是不需要的。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25198367/viewspace-707593/
,如需转载,请注明出处,否则将追究法律责任。