Индексы
Построение индекса по свойству позволяет хранить в базе все значения такого свойства в упорядоченном виде. Соответственно, индекс обновляется при каждом изменении значении индексированного свойства. Благодаря индексу, если, например, идет фильтрация по индексированному свойству, можно очень быстро найти нужные объекты, а не просматривать все существующие объекты в системе.
Индексировать можно только материализованные свойства.
Индекс также может быть построен сразу по нескольким свойствам (это эффективно, если, к примеру, фильтрация идет сразу по этим нескольким свойствам). Кроме того, в такой составной индекс можно включать параметры свойств. Построенный индекс будет иметь имя - <идентификатор таблицы>_<имя свойства / параметра 1>_..._<имя свойства / параметра N>
. Если указанные свойства хранятся в разных таблицах, то при попытке построения индекса будет выдана соответствующая ошибка.
Язык
Для создания индексов необходимо использовать инструкцию INDEX
или опцию INDEXED
в опциях свойств.
Примеры
INDEX customer(Order o);
date = DATA DATE (Order);
INDEX date(Order o), o;
INDEX name(Sku s), price(s, DATE d), d;