Я неоднократно слышал, что вторичные индексы (в кассандре) предназначены только для удобства, но не для лучшей производительности. Единственный случай, когда рекомендуется использовать вторичные индексы при низкой мощности (например, пол column
, который имеет два значения: мужской или женский)
рассмотрим этот пример:
CREATE TABLE users (
userID uuid,
firstname text,
lastname text,
state text,
zip int,
PRIMARY KEY (userID)
);
прямо сейчас я не могу выполнить этот запрос, если не создаю вторичный индекс на users
на firstname index
select * from users where firstname='john'
Как мне денормализовать эту таблицу, чтобы я мог получить этот запрос: Это единственный эффективный способ с помощью составных клавиш? Любые другие варианты или предложения?
CREATE TABLE users (
userID uuid,
firstname text,
lastname text,
state text,
zip int,
PRIMARY KEY (firstname,userID)
);