CREATE INDEX
Содержание раздела
Поддерживается в версиях: 6.12 / 6.11 / 6.10 / 6.9 / 6.8.
Запрос создает индекс для физической таблицы в указанных или всех датасорсах.
Запрос доступен для любых таблиц в СУБД ADB и ADP.
Связанные запросы
Синтаксис
CREATE [UNIQUE] INDEX index_name index_creation_string [DATASOURCE_TYPE (datasource_aliases)]
Параметры:
index_name
-
Имя создаваемого индекса.
index_creation_string
-
Текст команды на создание индекса. Передается в СУБД в неизменном виде.
Запрос не учитывает логическую БД, используемую по умолчанию.
Укажите имя целевой таблицы в формате <имя_схемы_СУБД>.<имя_таблицы>
; имя схемы по умолчанию можно не указывать.
Ключевое слово DATASOURCE_TYPE
Ключевое слово DATASOURCE_TYPE
задает список имен датасорсов datasource_aliases
, в которых создается индекс. Элементы списка перечисляются через запятую, каждый из них указывается в одинарных кавычках (например, 'adp', 'adp2'
).
Если ключевое слово не указано, система пытается создать индекс во всех доступных датасорсах окружения.
Варианты ответа
В ответе возвращается:
- пустой объект ResultSet при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
При ошибке создания индекса в любом из датасорсов в ответе возвращается ошибка, даже если в остальных датасорсах индекс был успешно создан.
Примеры
Создание индекса во всех датасорсах
Создание индекса для физических таблиц sales_actual
, связанных с логической таблицей sales
, во всех датасорсах:
CREATE INDEX transaction_date ON marketing.sales_actual (transaction_date)
Создание индекса в указанном датасорсе
Создание индекса для standalone-таблицы marketing.agreements
в датасорсе adp
:
CREATE INDEX agreement_number ON marketing.agreements (number)
DATASOURCE_TYPE ('adp')
Создание индекса для физической таблицы table1_actual
, связанной с логической таблицей table1
, в датасорсе adp2
:
CREATE INDEX index1 ON test_marketing.table1_actual (column1)
DATASOURCE_TYPE ('adp2')
Создание индекса с указанием метода
Создание индекса для прокси-таблицы payments_proxy
в датасорсе adp
с методом HASH
:
CREATE INDEX agreement_id ON marketing.payments_proxy USING HASH (agreement_id)
DATASOURCE_TYPE ('adp')
Создание индекса для текстового поиска
Создание индекса для физической таблицы sales_actual
в датасорсе adp
для ускорения текстового поиска по столбцу description
:
CREATE INDEX fts_idx_for_sales ON marketing.sales_actual USING gin (to_tsvector('russian', description))
DATASOURCE_TYPE ('adp')