Индексы
Индекс – это специальная надстройка над таблицей, предназначенная для повышения скорости обработки поисковых запросов, связанных с этой таблицей. Индекс (если он существует) всегда является частью таблицы.
Например, запрос
SELECT * FROM "КАДРЫ" WHERE "ТАБЕЛЬНЫЙ НОМЕР" = 101;
будет работать быстрее, если по столбцу "ТАБЕЛЬНЫЙ НОМЕР" построить индекс.
При обработке поискового запроса СУБД ЛИНТЕР может использовать индексы для эффективного поиска данных. В некоторых случаях СУБД по собственной инициативе создает индексы для ускорения обработки запроса (пункт «Временные индексы»).
Индексы наиболее полезны для поиска значений в следующих случаях:
-
по условиям =, >, < , >=, < =;
-
попадание в диапазон (BETWEEN);
-
попадание в список (IN);
-
поиск на соответствие шаблону (LIKE) если первый символ шаблона не является метасимволом.
Как правило, индексы бесполезны для поиска по условию < > или LIKE, если первый символ шаблона является метасимволом.
Созданный индекс автоматически поддерживается и используется СУБД ЛИНТЕР.
Изменения в данных таблицы (такие, как добавление новых строк, обновление или удаление строк) автоматически отражаются во всех соответствующих индексах.
Примечание
Не производятся изменения в индексах на системные таблицы $$$SYSRL и $$$ATTRI, касающиеся вспомогательных временных таблиц и их столбцов.
Индексы логически и физически независимы от данных. Их можно удалять и создавать в любой момент, не оказывая влияния на данные в таблице или другие индексы. После удаления индекса все клиентские приложения будут функционировать по-прежнему, однако доступ к ранее индексированным данным может быть замедлен. Это правило не относится к автоматически создаваемым самой СУБД ЛИНТЕР индексам для поддержки первичных, уникальных и внешних ключей. Удаление таких индексов делает невозможным добавление и удаление записей таблицы.
Индексы могут быть созданы по одному или нескольким столбцам таблицы, а также по отдельным словам (или фразам) текстовых документов.
Для тех версий ОС, которые не поддерживают работу с файлами размером больше 2 Гбайт, индексы можно размещать в нескольких индексных файлах.