Вторичные индексы в YDB живут в скрытых таблицах. Они так же чувствительны к возможности деления на партиции по ключам, как и обычные строковые таблицы.

Способность делиться на партиции вторичные индесы наследуют от первичного ключа исходной таблицы.

Согласно документации во вторичном индексе хранится:

  • индексные колонки
  • колонки первичного ключа таблицы
  • копии дополнительных колонок для покрывающих индексов

NB! первичный ключ таблицы вторичного ключа - это индексные колонки + колонки первичного ключа исходной таблицы.

create table order (
	id Uuid,
	status String,
	PRIMARY KEY (id),
	INDEX orders_by_status GLOBAL ON (status)
);

Схема исходной таблицы Схема таблицы с индексом

Примечания

Для небольших тестов удобно использовать запуск локального кластера YDB в докере.

Для Apple Silicon colima нужно запускать с особым набором ключиков для эмуляции x86_64.

colima start --arch aarch64 --vm-type=vz --vz-rosetta

Ссылки