Управление индексами

Содержание раздела
  1. Создание индекса
  2. Удаление индекса
  3. Получение информации об индексах

Система позволяет создавать и удалять индексы в любых таблицах СУБД. Управление индексами доступно как в физических таблицах, связанных с логическими сущностями системы, так и в физических таблицах, созданных напрямую в СУБД и не связанных с логическими сущностями.

Изменение индексов недоступно.

Создание индекса

Чтобы создать индекс для таблицы, выполните запрос CREATE INDEX.

Ниже показаны примеры запросов на создание индексов.

-- создание индекса для физических таблиц `sales_actual` во всех датасорсах, 
-- где размещена логическая таблица sales
CREATE INDEX transaction_date ON marketing.sales (transaction_date);

-- создание индекса для standalone-таблицы marketing.agreements, 
-- связанной с внешней readable-таблицей marketing.agreements_ext_read_adp
CREATE INDEX agreement_number ON marketing.agreements_ext_read_adp (number);

-- создание индекса для физической таблицы moscow_sales_by_store_category_actual
-- материализованного представления moscow_sales_by_store_category в датасорсе adp2
USE marketing;
CREATE INDEX category ON moscow_sales_by_store_category (category) DATASOURCE_TYPE ('adp2');

-- создание индекса для прокси-таблицы payments_proxy в датасорсе, 
-- где она размещена, с указанием метода HASH для индекса
CREATE INDEX agreement_id ON marketing.payments_proxy USING HASH (agreement_id);

Удаление индекса

Чтобы удалить индекс, выполните запрос DROP INDEX.

Ниже показаны примеры запросов на удаление индексов.

-- индекса во всех датасорсах
DROP INDEX marketing.transaction_date;

-- удаление индекса в указанном датасорсе
DROP INDEX marketing.category DATASOURCE_TYPE ('adp2');

Получение информации об индексах

Чтобы получить информацию об индексах отдельной таблицы или набора таблиц, выполните запрос GET_INDEXES.

Ниже показаны примеры запросов на получение информации об индексах.

-- запрос по физической таблице marketing.sales_actual логической таблицы marketing.sales
GET_INDEXES(marketing.sales_actual);

-- запрос по standalone-таблице marketing.agreements:
GET_INDEXES(marketing.agreements);

-- запрос по всем таблицам физической схемы marketing
GET_INDEXES(marketing);

-- запрос по всем таблицам всех физических схем
GET_INDEXES();

Описание параметров ответа GET_INDEXES см. в разделе GET_INDEXES > Параметры ответа.