JSON-индекс
JSON-индексы в строковых таблицах создаются с помощью того же синтаксиса, что и вторичные индексы, при указании json в качестве типа индекса. Подмножество доступного для JSON-индексов синтаксиса:
CREATE TABLE `<table_name>` (
...
INDEX `<index_name>`
GLOBAL
[SYNC]
USING json
ON ( <json_column> )
[, ...]
)
Где:
<index_name>— уникальное имя индекса для доступа к данным.SYNC— указывает на синхронное обновление индекса. Это единственный доступный для JSON-индексов режим, явно указывать не обязательно.<json_column>— колонка таблицы типаJsonилиJsonDocument. JSON-индекс строится только по одной колонке.
JSON-индекс не поддерживает выражение COVER — попытка указать его приведёт к ошибке.
Важно
Поддерживается только для строковых таблиц. Поддержка функциональности для колоночных таблиц находится в разработке.
Пример
CREATE TABLE documents (
id Uint64 NOT NULL,
payload JsonDocument NOT NULL,
INDEX json_idx GLOBAL USING json ON (payload),
PRIMARY KEY (id)
)
В этом примере создаётся таблица documents с JSON-индексом json_idx по колонке payload. Индекс будет использоваться запросами, в предикате WHERE которых содержатся вызовы JSON_EXISTS или JSON_VALUE по колонке payload.
Была ли статья полезна?
Предыдущая
Следующая