Вы можете улулчшить производительность обработки данных индексированных таблиц с помощью своевременного обновления индексов и использования в ваших индексах выражений, которые могут быть оптимизированы. Вы можете перестраивать активные индексные файла или переиндексировать таблицы в run time.

Перестройка активных индексных файлов

Когда вы открываете таблицу, без открытия ее соответствующего индексного файла и делаете изменения в ключевых полях таблицы, то ее индексные файлы становятся устаревшими. Индексный файл, кроме того, может стать недействительным при возникновкнии краха системы, или, что потенциально возможно, при доступе и обновлении данных в таблице из программ, которые не созданы в среде Visual FoxPro. Когда индексные файлы становятся устаревшими, вы можете обновить их с помощью команды REINDEX.

Для перестройки активного индексного файла

  1. Откройте таблицу, которую вы желаете переиндексировать.

  2. В меню Table выберите Rebuild Indexes.

Для перестройки индексных файлов программным способом

  • Используйте команду REINDEX для перестройки индекса.

    REINDEX обновит все индексные файлы, открытые в выбранной рабочей области. Visual FoxPro распознает и соответствующим образом переиндексирует каждый индексный файл.

    Например, приведенный ниже программный код обновляет индексный файл для таблицы Customer в тестовой базе данных Visual FoxPro, именуемой TestData:

      CopyCode imageСкопировать код
    OPEN DATABASE (HOME(2) + 'Data\TestData')
    USE Customer
    REINDEX

Для получения более подробной информации смотрите описание команды REINDEX.

NoteЗамечание

Переиндексирование таблиц в run time может потребовать большого количества времени, в частности, в случае, когда вы переиндексируете большеи таблицы. Вы должны переиндексировать таблицы только когда это действительно необходимости. Вы можете увеличить производительность приложения путем реиндексирования во время исполнения частей программ инициализации или завершения, по сравнению  с тем, если бы вы это делали во время исполнения основной программы приложения.

Смотрите также