【发布时间】:2015-11-03 23:02:55
【问题描述】:
我有以下表格:
CREATE TABLE user_comment (
username text,
time timestamp,
comment text,
PRIMARY KEY (username, time)
) WITH CLUSTERING ORDER BY (time DESC);
假设任务是检索用户Alice、'Bob' 和Charlie 的最后10 个cmets,返回3*N 条记录。查询应该如何形成?
我现在正在做的是发出 3 个查询
SELECT * FROM user_comment WHERE username = 'Alice' limit 10;
SELECT * FROM user_comment WHERE username = 'Bob' limit 10;`
SELECT * FROM user_comment WHERE username = 'Charlie' limit 10;
并连接结果。
但这在我看来很愚蠢。有没有更有效的方法?
我正在使用:
> show VERSION ;
[cqlsh 5.0.1 | Cassandra 2.1.8 | CQL spec 3.2.0 | Native protocol v3]
【问题讨论】:
-
这其实不傻...一次对一个分区键运行查询更有效。