Раздел: CronosPRO Дата редакции: 03.09.2014 id статьи: 1217

Индексы банка. Для чего нужны? Как построить (перестроить)?

В ИСУБД «CronosPRO» существуют три состояния поля:
  • Неиндексированное поле (серый фон иконки поля). Все поля по-умолчанию (кроме поля «Системный номер») имеют такое состояние. Индексы по таким полям не построены.
  • Поле с недостроенными индексами (красный фон иконки поля). Данные поля являются промаркерованными для дальнейшего построения индексов. Индексы по таким полям не построены.
  • Поле с построенными индексами (зеленый фон иконки поля). Поля с построенными индексами — это поля, по которым поиск происходит максимально быстро.
Виды индексных полей
Рис. 1. Виды индексных полей

Для чего нужны индексы?

Для системы индексы почти то же самое, что для человека предметный указатель в книге. Иными словами, индексы представляют собой список, в котором перечислены все присутствующие в базе значения индексированного поля, с указанием записей, в которых оно фигурирует. Например, если для базы данных, накапливающей информацию о клиентах, создан индекс по полю «Фамилия», система создаст для себя некоторое подобие предметного указателя, который будет содержать примерно такую информацию: Иванов упоминается в записях № 1, № 94 и № 1037; Петров упоминается в записях № 46 и № 72 и т. д. Система будет обращаться к своему «предметному указателю» при поиске информации в банке данных точно также, как человек обращается к предметному указателю в книге. Индексация значительно ускоряет процесс получения результатов, потому что при поиске требуемого значения позволяет системе быстрее просмотреть небольшой список и затем перейти к нужной записи вместо того, чтобы считывать и анализировать все записи в базе поочередно.

По каким полям нужно строить индексы?

Чем больше объём базы, тем сильнее ощущается выигрыш во времени при выполнении запроса.
Поэтому индексы рекомендуется строить только для тех банков, которые хранят большой объём записей, и только для тех полей, поиск по которым выполняется чаще всего. К примеру, если Вы постоянно выполняете запросы по полю «Фамилия», будет целесообразно построить индекс для этого поля. А для полей, содержащих такого рода информацию, как «Пол» (т. е. для полей, по которым поиск производится значительно реже), строить индексы — необходимости нет.

Как построить (перестроить) индексы по полю?

Построить или удалить индексы для одной или нескольких баз данных текущего банка можно с помощью окна диалога «Создание/удаление индексов» (рис. 1). Чтобы открыть это окно, следует в Главном меню выбрать пункт Администратор → Индексные массивы.
Раскройте дерево структуры, дважды щелкнув по названию базы левой кнопкой мыши. Отметьте поля по которым нужно построить(перестроить) индексы и нажмите кнопку «Построить» (рис. 2).
Построение индексов в банке
Рис. 2. Построение индексов в банке

Когда нужно перестраивать индексы в банке?

Случай №1: По запросу не отбираются записи
Если Вы выполняете запрос по индексному полю (полю с построенными индексами), но ни одной записи не отбирается, скорее всего, индексный массив был повреждён. В этом случае Вам необходимо заново построить индексы по проблемному полю.
Случай № 2: В окне просмотра/коррекции, в табличной форме представления, появились строки «Запись не найдена»
В этом случае запрос по индексному полю отобрал несуществующие записи. Скорее всего, индексный массив не изменился при внесении изменений в записи базы.