Стол Cassandra с двумя клавишами кластера, один для выбора, другой для заказа - PullRequest
0 голосов
/ 29 января 2019

У меня есть таблица следующим образом.Я перечисляю почтовые ящики для каждого «пользователя» (пользователь является ключом раздела).Иногда мне нужно указать «контакт» (для запросов на обновление и удаление) внутри каждого раздела, поэтому в качестве ключа кластера у меня есть «контакт».

Если я хочу перечислить почтовые ящики «пользователя» (поля одного ключа раздела) на основе поля "lastmsg", мне нужно будет добавить это поле в ключи кластера.Но я не могу получить значение этого поля и указать его при выборе строк для обновления и удаления.

1- Можно ли иметь контактный ключ кластера для выбора и последний кластерный ключ для заказа?(и создать условия запроса только с одним из них).

CREATE TABLE inbox_list
(user int,
contact int,
contactradif int,
contactname text,
contactuname text,
lastmsg timestamp,
lastmsgexcerpt text,
newcount int,
lastissent boolean,
contactread timestamp,
PRIMARY KEY (user, contact));

2- Я хотел использовать вторичный индекс для "lastmsg" в качестве обходного пути.

CREATE INDEX lastmsg ON inbox_list (lastmsg);

Но Кассандра 2.3 не поддерживает упорядочение по вторичным индексам ...

Что мне делать?

спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...