|
Обычно такая забывчивость при больших размерах базы обходится дорого. Обновление, как и создание нового индексного файла при уже заполненной базе, требует времени. Иногда все же целесообразно прибегать к временному отключению индексных файлов. Так, каждое дополнение проиндексированной базы новыми записями влечет перестройку всего индекса, что иногда может показаться слишком медленным. В этом случае имеет смысл отключить индекс в момент заполнения и сделать переиндексацию после окончания ввода целой группы записей.
В системах обработки данных часто возникает необходимость в сложном индексировании. При этом возможно использование практически любых встроенных функций FoxPro, а.также процедур и функций, определенных пользователем.
При вводе, удалении, редактировании записей все открытые индексные файлы будут соответствующим образом изменяться. Однако главным управляющим индексом, т.е. таким, в соответствии с которьм при необходимости будет перемещаться указатель записей, может быть, конечно, только один. Им является индексный файл, открытый самым первым в команде (здесь KADRTAB.IDX), или назначенный таковым опцией ORDER.
В случае, если необходимо сделать главным другой индекс, используется команда
SET ORDER TO [<выр>/<IDХ-файл>/[ТАG] <имя тега> [OF <СDХ-файл>]] [IN <область>] [ASCENDING/DESCENDING]
Команда объявляет главный индекс/тег среди открытых IDX- или CDX- индексных файлов в текущей или указанной рабочей <области>. Опции команды совпадают с описанными выше для команды SET INDEX TO. Например, следующие команды сделают главным индекс POLFAM.IDX
SET ORDER TO polfam или SET ORDER Т0 2
Команда SET ORDER TO 0 или просто SET ORDER TO без параметра отключает все индексы от управления перемещением указателя записей. Теперь уже не будет главного индекса. Однако сами индексы остаются открытыми и чувствительными к изменениям в базе данных.
При необходимости имя главного индексного файла может быть выяснено с помощью функции
• ORDER([<o6ласть>])
Функция возвращает имя главного индексного файла или главного тега из мультииндексного файла для текущей рабочей области или области, заданной номером или псевдонимом.
Рассмотрим ряд вспомогательных команд и функций для работы с мультииндексными файлами.
• NDX(<BbipN>[,<o6nacTb>])
Функция выдает прописными буквами полное имя индексного файла, открытого в текущей или указанной рабочей <области>. <BbipN> указывает номер файла в команде открытия. Если файла нет, возвращается пустая строка.
• CDX/MDX(<BbipN>[,<o6nacTb>])
Функция возвращает имя открытого CDX-файла. Первым считается структурный CDX-файл (если есть). Имя такого файла всегда совпадает с именем самой базы. Далее идут обычные мультиин-дексные файлы в порядке их открытия. Если структурного CDX-файла нет, рассматриваются только обычные CDX-файлы. <BbipN> - номер по порядку индексного файла, имя которого возвращается с учетом вышесказанного. Если файла с таким номером нет, возвращается нулевая строка.
• SYS(22 [,<область>])
Функция возвращает имя главного индекса или главного тега в IDX/CDX-файле. <0бласть> задается только числом.
Дата добавления: 2015-08-02; просмотров: 41 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Ускоренный поиск | | | Индексный анализ средней урожайности и валового сбора сельскохозяйственных культур |