• Русский
  • English (UK)
Соцсеть: Базы данных Oracle, СУБД MySQL, SQL, программирование Java, APEX, администрирование
  • Главная
    • Новости корпорации Oracle
    • Внедрения продуктов и рещений Oracle
    • СУБД Oracle
    • СУБД MySQL
  • Сообщество
  • Блоги
  • Книги
  • Поиск
  • Форум
Search
  • Вы здесь:  
  • Главная
  • Oracle: database & etc
  • БД Oracle: для профи

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

  • Печать
  • E-mail
Подробности
Автор: Anna
Опубликовано: 15 марта 2012
Просмотров: 3588
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Давайте посмотрим на интересные свойства индекса. Когда вы решите, что нужно перестраивать индекс, выполните следующие манипуляции. И вы убедитесь, насколько должно быть продуманным решение сделать 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:

Индексы, листовые блоки, перес...
Индексы, листовые блоки, перес... 5095 просмотров Tue, 21 Nov 2017, 13:31:33
Индексы Oracle
Индексы Oracle 6496 просмотров Игорь Воронов Tue, 21 Nov 2017, 13:18:46
Еще раз о защелках, очередях, ...
Еще раз о защелках, очередях, ... 5318 просмотров Tue, 21 Nov 2017, 13:31:33
Пример использования NULL - св...
Пример использования NULL - св... 3696 просмотров dbstalker Tue, 21 Nov 2017, 13:32:50
0
  • Сбор статистики в Oracle. Что использовать DBMS_STATS или ANALYZE?
  • Найти номер отсутствующей записи в последовательно пронумерованных записях таблицы. CONNECT BY
Обсудить эту статью
Войдите, чтобы комментировать
  • Oracle: database & etc
    • БД Oracle: основы
    • БД Oracle: для профи
    • БД Oracle: настройка производительности
    • БД Oracle: защита
    • БД Oracle: бэкап и восстановление
    • БД Oracle: кодинг
    • Oracle: продукты
  • Базы данных
    • SQL, PL/SQL, T-SQL
    • MySQL и MariaDB
    • PostgreSQL
    • Базы данных NoSQL
    • Microsoft SQL Server
  • Программирование
  • Веб-технологии
  • Информационные системы
  • Операционные системы
  • Сетевые и облачные технологии
  • Разные ИТ-темы
  • Oracle: database & etc
    • БД Oracle: основы
    • БД Oracle: для профи
    • БД Oracle: настройка производительности
    • БД Oracle: защита
    • БД Oracle: бэкап и восстановление
    • БД Oracle: кодинг
    • Oracle: продукты
  • Базы данных
    • SQL, PL/SQL, T-SQL
    • MySQL и MariaDB
    • PostgreSQL
    • Базы данных NoSQL
    • Microsoft SQL Server
  • Программирование
  • Веб-технологии
  • Информационные системы
  • Операционные системы
  • Сетевые и облачные технологии
  • Разные ИТ-темы

Архив блогов

< « > » Февраль 2019
Пн вт ср чт пт сб вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28

Популярные тэги

Oracle348  база данных172  PL/SQL155  базы данных52  Linux42  Java40  Oracle Database39  SQL37  восстановление28  SQL*Plus27  администратор26  oracle25  табличное пространство22  настройка20  Unix20  таблица19  производительность18  Android17  установка15  безопасность14  программирование14  база Oracle14  данные14  UNIX14  СУБД13  управление12  создание12  транзакция12  файлы12  специалист Oracle11  команда11  определение10  ошибка10  NoSQL9  Eclipse9  обучение9  пример9  блок9  резервное копирование9  файл9  оптимизация9  память8  статистика8  сертификация8  архитектура8  процессы8  размер8  разработка8  язык8  приложение8  экземпляр8  проектирование8  время7  функция7  создать7  схема7  версии7  дата7  сервер7  таблицы7  запись7  история7  команды7  СУБД Oracle7  мониторинг7  Android Studio6  JavaScript6  программа6  Oracle 9i6  процесс6  триггер6  переменная6  видео6  оператор6  SGA6  PGA6  Oracle Policy Automation6  подключение6  11g6  резервирование6  баз данных6  Grid Control5  PostgreSQL5  запросы5  буфер5  код5  кэш5  Database Control5  возможности5  загрузка5  отмена5  IDE5  индекс5  использование5  разработчик5  блокировки5  

© 2019 Соцсеть: Базы данных Oracle, СУБД MySQL, SQL, программирование Java, APEX, администрирование

Go Top