SysRebuildIndexes

From SunFlurry wiki
Revision as of 17:07, 12 April 2022 by Admin (talk | contribs) (Created page with "{{infobox function |name=SysRebuildIndexes |object=Функции общего назначения |caption=Системные функции базы данных |type=...")
Jump to: navigation, search
  SysRebuildIndexes (Системные функции базы данных)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер
Исключения:Невозможно превратить в строку, неизвестный объект, ошибка сервера.
Визуальность:Нет

Функция выполняет процедуру перестроения индексов для указанного объекта базы данных или для всех объектов базы данных. Для объекта будут перестроены все его скрытые индексы, индексы его строчных частей, таблиц значений периодических реквизитов, составные индексы и т.д. Данная процедура может занять продолжительное время даже при использовании одного объекта. Необходимость в такой процедуре может появляться при обновлении сервера базы данных или порче данных в базе данных и т.д. Для некоторых типов СУБД нет возможности выполнить такую процедуру с помощью сторонних утилит, к примеру, для SQLite3 использование особых типов сравнения для текстовых данных, делает невозможным использование сторонних утилит, альтернативой перестроения индексов может служить выгрузка дампа базы данных и создание с помощью него новой базы данных. Рекомендуется пользоваться функцией с осторожностью.

Синтаксис

SysRebuildIndexes(<Наименование объекта, для которого необходимо выполнить процедуру перестроения индексов (STRING)>)

Аргументы

  • <Наименование объекта, для которого необходимо выполнить процедуру перестроения индексов (STRING)> - Может задавать один из объектов проекта в виде <Тип объекта>.<Вид объекта> (к примеру Ref.Номенклатура). Для того, чтобы инициировать перестроение индексов для таблиц DBVar, достаточно указать любую переменную DBVar. Для того, чтобы инициировать перестроение индексов для системных таблиц (таблицы подчиненности документов и пр.), необходимо указать особое значение SYSTEM. Если аргумент опущен, будет выполнено перестроение индексов для вcех объектов базы данных, в том числе для всех системных таблиц. Внимание: перестроение индексов большой базы данных может занять продолжительное время.

Примеры

//Перестроение индексов таблицы переменных базы данных
SysRebuildIndexes("DBVar.SysRebuildIndexes");

//Перестроение индексов документа Реализация
SysRebuildIndexes("Doc.Реализация");