Информация о фразовом индексе (LIN_INDEX_INFO)
Функция
Предоставление информации о ресурсах, используемых при работе с фразовым индексом.
Спецификация
::=::=::=Общие правила
-
<Идентификатор таблицы>– значение поля$$$S11в системной таблице$$$SYSRL. -
<Идентификатор столбца>– значение поля$$$S22в системной таблице$$$ATTRI. -
<Спецификация столбца>должна ссылаться на столбец, по которому создан фразовый индекс. -
Параметр
<тип информации>определяет тип запрашиваемой о фразовом индексе информации. Допустимые значения параметра приведены в пункте «Возвращаемое значение». -
Функция предоставляет информацию о фактических размерах ресурсов, используемых при выполнении поисковых операций с фразовым индексом. Анализ возвращаемой функцией информации по всем столбцам с фразовым индексом всех таблиц БД позволяет оценить правильность задания значения ключей запуска pcontcache, pbvcache ядра СУБД. Например, рекомендуется задавать значение ключа pcontcache не меньше суммы всех вычисленных в БД значений file_size (для поиска может быть достаточно только w2d_packed), а ключа pbvcache – не меньше суммы всех вычисленных в БД значений s2w_unpacked.
-
Значения
<символьный литерал>и<идентификатор столбца>аргументов могут быть заданы<SQL-параметром>, который должен содержать спецификацию типа данных параметра.select lin_index_info(? (char(10)), ? (char(20)), 'file_size') from $$$SYSRL, $$$ATTRI where $$$S11 = $$$S21 and $$$S13 = ? (char(10)) and $$$S23 = ?(char(20)); TST COL_INDEX TST COL_INDEX
Возвращаемое значение
-
Тип возвращаемого значения –
INTEGER(при отсутствии фразового индекса для столбца возвращается NULL-значение). -
Возвращаемое значение зависит от параметра
<тип информации>.
| Значение параметра <тип информации> | Возвращаемое значение | |
|---|---|---|
| s2w_unpacked | Размер (в страницах 4 Кбайта) распакованной структуры индекса буквосочетаний (бит-векторный кэш) | |
| w2d_unpacked | Размер (в страницах 4 Кбайта) распакованной структуры индекса соответствия слов документу (не кэшируется в распакованном виде) | |
| s2w_packed | Размер (в страницах 4 Кбайта) упакованной структуры индекса буквосочетаний (контейнерный кэш) | |
| w2d_packed | Размер (в страницах 4 Кбайта) упакованной структуры индекса соответствия слов документу (контейнерный кэш) | |
| file_size | Размер (в страницах 4 Кбайта) файла контейнера фразового индекса | |
| file_id | Идентификатор индексного файла фразового индекса (char(8)) | |
| dict_size | Суммарный объём словаря фразового индекса в байтах | |
| word_count | Количество слов в словаре фразового индекса | |
| hast_size | Суммарный объём вспомогательной части фразового индекса (для быстрого удаления документов и для поиска с расстояниями между словами) |
Примеры
Выполняется с помощью утилиты inl:
create or replace table tst(col_index blob default filter DOCRTF2TEXT);
insert into tst values(NULL);
blob insert column=1 file=sql.pdf
CREATE OR REPLACE PHRASE deferred INDEX col_index ON tst;
REBUILD PHRASE INDEX col_index ON tst;
1)
Два нижеследующих запроса идентичны:
select lin_index_info('TST', 'COL_INDEX', 's2w_unpacked'),
lin_index_info('TST', 'COL_INDEX', 'w2d_unpacked'),
lin_index_info('TST', 'COL_INDEX', 's2w_packed'),
lin_index_info('TST', 'COL_INDEX', 'w2d_packed'),
lin_index_info('TST', 'COL_INDEX', 'file_size'),
lin_index_info('TST', 'COL_INDEX', 'file_id')
from $$$SYSRL, $$$ATTRI
where $$$S11 = $$$S21 and $$$S13 = 'TST' and $$$S23 = 'COL_INDEX';
| 1543| 1256| 27| 10| 48| 66310|
select lin_index_info($$$S11, $$$S22, 's2w_unpacked'),
lin_index_info($$$S11, $$$S22, 'w2d_unpacked'),
lin_index_info($$$S11, $$$S22, 's2w_packed'),
lin_index_info($$$S11, $$$S22, 'w2d_packed'),
lin_index_info($$$S11, $$$S22, 'file_size'),
lin_index_info($$$S11, $$$S22, 'file_id')
from $$$SYSRL, $$$ATTRI
where $$$S11 = $$$S21
and $$$S13 = 'TST'
and $$$S23 = 'COL_INDEX';
| 1543| 1256| 27| 10| 48| 66310|
2)
select sum(lin_index_info($$$S13, $$$S23, 'file_size')) pcontcache,
sum(lin_index_info($$$S13, $$$S23, 's2w_unpacked')) pbvcache
from $$$SYSRL, $$$ATTRI
where $$$S11 = $$$S21;
3)
select * from
(
select
$$$S13 tab,
$$$S23 col,
lin_index_info($$$S13, $$$S23, 'file_id') fileid,
lin_index_info($$$S13, $$$S23, 'file_size') pcontcache,
lin_index_info($$$S13, $$$S23, 's2w_unpacked') pbvcache
from $$$SYSRL, $$$ATTRI
where $$$S11 = $$$S21
) where pcontcache is not null;