Как найти листовой индексный блок для конкретной записи таблицы? sys_op_lbid

dbstalker, 18 мая

Как найти блок, в котором находится конкретная запись таблицы, читайте вот здесь. А теперь разберемся с индексом.

Сначала найдем ID нашего индекса:

select object_id index_id from dba_objects where object_name = 'my_table_test';

Далее с этим знанием выполним запрос:

select dbms_rowid.rowid_relative_fno(rowid_ind) file_ind,     
       dbms_rowid.rowid_block_number(rowid_ind) block_ind  from 

(select sys_op_lbid(index_id, 'L', rowid) rowid_ind from my_table_test where условие);

В результате – file# и block#. Ну вот и все – блок найден.

Почитайте на досуге еще немного об индексах

Немного полезностей об индексах и их реорганизации К вопросу о реорганизации индексов. Несколько простых советов К вопросу о реорганизации индексов Индексы на основе B* - дерева Как найти листовой индексный блок для конкретной записи таблицы? sys_op_lbid

 

Новый комментарий

Я не спамер: введите суму 5+4



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Расписание автобусов
18 июля, 3 ответа
Отдых в августе
17 июля, 4 ответа