#sql #oracle #tree
Вопрос:
Как я могу получить высоту индекса дерева B для нескольких таблиц. Другие индексы, такие как количество листовых блоков дерева. Как использовать INDEX_STATS для целевого набора таблиц? Например, ВЫСОТА, LF_BLKS…
Примеры таблиц, такие как Emp, Зарплата, Рейтинг
Ответ №1:
Вы можете легче просматривать базовую статистику индекса с помощью таких представлений словаря данных, как ALL_INDEXES
:
select owner, table_name, index_name, blevel, leaf_blocks from all_indexes where table_name in ('EMP', 'SALARY', 'RANKING') order by owner, table_name, index_name;
INDEX_STATS
содержит только информацию, собранную в ходе последней ANALYZE INDEX...
операции, и ALL_INDEXES
содержит всю последнюю статистику по каждому индексу, к которому у вас есть доступ. Но если ваша статистика не является актуальной, вам, возможно, потребуется собрать ее следующим образом:
begin dbms_stats.gather_index_stats(user, 'EMP_IDX'); end; /