2014-08-29 32 views
1

现在,我创建了一个表:如何设计具有排序和限制的查询的cassandra表?

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

我想post_at字段选择最后行与user_id操作IN和排序。

而且我读的好文章: 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); 

认为这是一个很好的...

回答

2
+0

它帮助我,вот留下一个麻烦,我能问这里还是必须创建一个新的问题? – Alice 2014-08-29 21:45:53

+1

如果答案只能部分解决问题,您可以解释它缺少的内容。如果剩下的问题是分开的,一个新的问题会更好。 SO的一个想法是,问题和答案仍然存在于未来有问题的其他人。所以,另一个问题的价值在于别人更可能找到他们需要的帮助。 – 2014-08-29 23:07:27