如何使用排序和限制为一个查询设计cassandra表?

时间:2014-08-29 20:27:36

标签: cassandra cassandra-2.0 cassandra-cli

现在我创建了一个表:

CREATE TABLE posts_by_user(
  user_id    bigint,
  post_id    uuid,
  post_at    timestamp,
  PRIMARY KEY (user_id,post_id)
);

我想为IN选择最后 10 行,使用user_id运算符,然后按 post_at 字段排序。

我也读了一篇好文章: http://planetcassandra.org/blog/the-in-operator-in-cassandra-cql/

我可以使用查询:WHERE post_at = time AND user_id IN (1,2)因为我需要所有笔记,而不是具体日期。

我如何改变我的设计架构?谢谢。

我改变了:

CREATE TABLE posts_by_user (
  user_id    bigint,
  post_id    uuid,
  post_at    timestamp,
  PRIMARY KEY (user_id, post_at)
) WITH CLUSTERING ORDER BY (post_at DESC);

认为这是一件好事......

1 个答案:

答案 0 :(得分:2)