Как обрабатывать предложение BETWEEN на ключе раздела в Cassandra - PullRequest
0 голосов
/ 23 апреля 2019

Моя таблица как ниже

CREATE TABLE T (
  A int PRIMARY KEY,
  B int,
  C int
);

, и мне нужно получить данные со значениями A между 10 и 1122 В SQL мы можем сделать это с помощью предложения BETWEEN.Поскольку Кассандра не поддерживает использование>, <я не смог запросить его.Может кто-нибудь, пожалуйста, помогите мне в этом. </p>

1 Ответ

2 голосов
/ 23 апреля 2019

Cassandra не разрешает этот запрос сам по себе, поскольку требует чтения всех данных в таблице и фильтрации данных. Вам необходимо изменить модель данных для поддержки вашего запроса без операций, которые не масштабируются и не могут быть эффективно распределены. Вы можете сделать это с помощью флага ALLOW FILTERING, чтобы подтвердить, что вы игнорируете всю мудрость и рекомендации. Это больше для отладки и специализированных массовых операций и вызовет проблемы, если вы будете использовать его в своем приложении:

SELECT * FROM T WHERE A > 10 AND A < 1122 ALLOW FILTERING;
...