Если вы желаете создать индекс, который используется редко, например, для каких-то специальных целей, вы можете хранить его в неструктурном составном индексном (.cdx) файле, который может хранить множество индексов. Кроме того, вы можете хранить такие индексы, а также временные индексы в самостоятельных (.idx) файлах, включенных в поставку, для обеспечения совместимости в более ранними версиями. Для получения более подробной информации об индексных файлах для хранения нечасто используемых индексов смотрите Индексные файлы Visual FoxPro.
Вы можете создавать неструктурные .cdx файлы и самостоятельные .idx файлы используя команды языка Visual FoxPro.
Индексы в неструктурных составных индексных файлах
Для уже существующей таблицы вы можете создать индекс в неструктурном.cdx-файле, используя команду INDEX с опциями TAG и OF или с помощью копирования одного или более самостоятельных индексных файлов (.idx) с помощью команды COPY INDEXES.
Для создания индекса в неструктурном индексном .cdx-файле
-
Используйте команду INDEX, для указания индексного выражения.
-
Включите в нее опцию TAG для указания имени или тэга для индекса.
-
Включите в нее опцию OF для указания имени неструктурного .cdx-файла.
Например, приведенные ниже строки кода открывают таблицу Employee в Visual FoxPro тестовой базе данных TestData, и создают индекс , основанный на поле Title. Команда INDEX включает в себя опцию TAG для указания имени или тэга для индекса и опцию OF для сохранения индекса в неструктурном .cdx-файле с именем QRTLYRPT с расширением .cdx:
![]() | |
---|---|
OPEN DATABASE (HOME(2) + 'Data\TestData') USE Employee INDEX ON Title TAG Title OF QRTLYRPT |
Для получения более подробной информации смотрите описание команды OPEN DATABASE, USE и INDEX.
Для создания индекса в неструктурном индексном .cdx-файле из .idx-файла
-
Используйте команду COPY INDEXES для указания одного или более имен .idx-файлов. Для включения каждого индексного ключа из всех открытых .idx-файлов используйте ключевое слово ALL.
-
Включите в команду опцию TO для указания имени неструктурного .cdx-файла.
Для получения более подробной информации смотрите описание команды COPY INDEXES.
Индексы в самостоятельных индексных файлах
Для уже существующей таблицы, вы можете создать одноключевой (в статьях встречается, также термин одновходовой - JS) индекс в самостоятельном .idx-файле с помощью команды INDEX с включенной в нее опцией TO или с помощью копирования индекса из составного индексного (.cdx) файла с помощью команды COPY TAG.
![]() |
---|
Для создания маленького и быстро доступного индексного файла, включите в команду опцию COMPACT. Однако, для создания .idx-файла, совместимого с форматами индексов FoxBASE+® и FoxPro® версии 1.0, опуститу опцию COMPACT. |
![]() |
---|
По умолчанию, .cdx-файлы всегда компактны. |
Для создания одноключевого индекса
-
Используйте команду INDEX для указания индексного выражения.
-
Включите в команду опцию TO для указания имени .idx-файла.
-
Включите в команду опцию COMPACT.
Например, приведенные ниже строки кодв открывают таблицу Orders в Visual FoxPro тестовой базе данных TestData и создают индекс, основанный на поле Order_Date. Опция TO указывает OrdDate как имя .idx-файла. Команда SET ORDER устанавливает порядок таблицы с файлом OrdDate, а команда BROWSE открывает окно просмотра, в котором записи отображаются, упорядоченные по полю Order_Date:
![]() | |
---|---|
OPEN DATABASE (HOME(2) + 'Data\TestData') USE Orders INDEX ON Order_Date TO OrdDate COMPACT SET ORDER TO OrdDate BROWSE |
Для получения более подробной информации смотрите описание команд OPEN DATABASE, USE, INDEX, SET ORDER и описание окна Browse.
Кроме того, вы можете создать самостоятельный индекс из индекса в .cdx-файле с помощью команды COPY TAG.
Для создания одноключевого индекса из .cdx-файла
-
Используйте команду COPY TAG для указания имени индекса в .cdx-файле.
-
Если необходимо, включите в состав команды опцию FROM для указания имени .cdx-файла.
-
Включите в состав команды опцию TO для указания имени .idx-файла.
-
Включите в состав команды опциюCOMPACT.
Например, предположим, что они из индексов в структурном файле .cdx используется только для квартальных или годовых отчетов. Вы можете перенести этот индекс из файла .cdx file в .idx-файл. Приведенный ниже пример открывает таблицу Employee в тестовой базе данных TestData и создает одноключевой индекс, основанные на индексе с именем Birth_Date в структурном файле .cdx, ассоциированном с таблицей Employee. Одноключевой индекс сохраняется в .idx-файле, названном BirthDate.
![]() | |
---|---|
OPEN DATABASE (HOME(2) + 'Data\TestData') USE Employee COPY TAG Birth_Date TO BirthDate COMPACT |
![]() |
---|
Когда открывается таблица, то также открывается и структурный .cdx-файл, ассоциированный с этой таблицей. |
![]() |
---|
После создания файла .idx из .cdx-файла, вы должны удалить тэг из .cdx-файла. Для получения более подробной информации об удалении индексов смотрите Как: удалять индексы (Visual FoxPro). |
Для получения более подробной информации смотрите описания команд OPEN DATABASE, USE и COPY TAG.