Архив

Публикации с меткой ‘sys.object_usage’

Мониторинг использования индексов

Если появилось желание проверить используется индекс или нет, то:

1) Сначала включаем мониторинг интересующих нас индексов

ALTER INDEX OWNER.INDEX_NAME MONITORING USAGE;

2) После того, как отработала программа, которая потенциально должна была использовать индекс, выполняем запрос

select io.name as index_name
      ,t.name  as table_name
      ,decode(bitand(i.flags, 65536), 0, 'NO', 'YES') as monitoring
      ,decode(bitand(ou.flags, 1), 0, 'NO', 'YES')    as used
      ,ou.start_monitoring as start_monitoring
      ,ou.end_monitoring   as end_monitoring
from sys.obj$         io
    ,sys.obj$         t
    ,sys.ind$         i
    ,sys.object_usage ou
where i.obj# = ou.obj#
      and io.obj# = ou.obj#
      and t.obj# = i.bo#;

3) Выключаем мониторинг индекса

ALTER INDEX OWNER.INDEX_NAME NOMONITORING USAGE;

Есть также view V$OBJECT_USAGE, но она показывает данные только для текущей схемы.