Индексы, листовые блоки, перестройка индекса (rebuild)

Давайте посмотрим на интересные свойства индекса. Когда вы решите, что нужно перестраивать индекс, выполните следующие манипуляции. И вы убедитесь, насколько должно быть продуманным решение сделать rebuild.

create table my_table(a number);
create index my_table_idx on my_table(a);
insert into my_table select rownum from dual connect by level <= 1000000;
analyze index my_table_idx compute statistics;
select blevel, leaf_blocks from user_indexes where index_name='MY_TABLE_IDX';
BLEVEL   LEAF_BLOCKS
2  	       1999
alter index my_table_idx rebuild;
analyze index my_table_idx compute statistics;
select blevel, leaf_blocks from user_indexes where index_name='MY_TABLE_IDX';
BLEVEL   LEAF_BLOCKS
2	     2226

Надеюсь вы увидели, что листовых блоков стало намного больше. Насколько это приемлемо в вашей ситуации?

И еще для расширения кругозора сделаем аналогичные манипуляции, но для таблицы, содержащей убывающую последовательность.

drop table my_table;
create table my_table(a number);
create index my_table_idx on my_table(a);
insert into my_table select 1000000-rownum from dual connect by level <= 1000000;
analyze index my_table_idx compute statistics;
select blevel, leaf_blocks from user_indexes where index_name='MY_TABLE_IDX';
BLEVEL   LEAF_BLOCKS
2	     4059
alter index my_table_idx rebuild;
analyze index my_table_idx compute statistics;
select blevel, leaf_blocks from user_indexes where index_name='MY_TABLE_IDX';
BLEVEL   LEAF_BLOCKS
2	    2226

Вы заметили, что здесь совершенно противоположная картина? Хотя изначально можно удивляться, почему во втором примере для индекса потребовалось больше листовых блоков, хотя информация в таблице такая же, как и в первом варианте только в обратном порядке.

Делайте выводы!

Вас заинтересует / Intresting for you:

Индексы, листовые блоки, перес...
Индексы, листовые блоки, перес... 7354 просмотров Tue, 21 Nov 2017, 13:31:33
Индексы Oracle
Индексы Oracle 27505 просмотров Игорь Воронов Tue, 21 Nov 2017, 13:18:46
Еще раз о защелках, очередях, ...
Еще раз о защелках, очередях, ... 7114 просмотров Tue, 21 Nov 2017, 13:31:33
Пример использования NULL - св...
Пример использования NULL - св... 6107 просмотров dbstalker Tue, 21 Nov 2017, 13:32:50
Печать
Войдите чтобы комментировать