Как найти листовой индексный блок для конкретной записи таблицы? 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

 

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

Я не спамер: введите суму 8+7



 

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

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

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

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


 
 

Бизнес форум

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

Шины бу
26 апреля, 2 ответа
Потрібна порада
25 апреля, 2 ответа
Посоветуйте адвоката
25 апреля, 1 ответа