您的位置:首页 > 数据库 > Oracle

Oracle有使用某个索引吗?(如何监控)

2011-11-23 11:41 435 查看

Oracle有使用某个索引吗?(如何监控)

Does Oracle use my index or not?

One can use the index monitoring feature to check if indexes are used by an application or not. When the MONITORING USAGE property is set for an index, one can query the v$object_usage to see if the index is being used or not. Here is an example:

SQL> CREATE TABLE t1 (c1 NUMBER);

Table created.

SQL> CREATE INDEX t1_idx ON t1(c1);

Index created.

SQL> ALTER INDEX t1_idx MONITORING USAGE;

Index altered.

SQL>

SQL> Prompt this view should be consulted as the owner of the object of interest (e.g. system will mostly see an empty view).

SQL> SELECT table_name, index_name, monitoring, used FROM v$object_usage;

TABLE_NAME INDEX_NAME MON USE

------------------------------ ------------------------------ --- ---

T1 T1_IDX YES NO

SQL> SELECT * FROM t1 WHERE c1 = 1;

no rows selected

SQL> SELECT table_name, index_name, monitoring, used FROM v$object_usage;

TABLE_NAME INDEX_NAME MON USE

------------------------------ ------------------------------ --- ---

T1 T1_IDX YES YES

To reset the values in the v$object_usage view, disable index monitoring and re-enable it:

ALTER INDEX indexname NOMONITORING USAGE;

ALTER INDEX indexname MONITORING USAGE;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: