Информация о фразовом индексе
Функция
Предоставление информации о ресурсах, используемых при работе с фразовым индексом.
Спецификация
::=
::=
::=
Общие правила
-
< Идентификатор таблицы >
– значение поля $$$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;