【发布时间】:2016-02-08 16:43:30
【问题描述】:
我在理解这篇文章中的一件事时遇到了问题 - http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling
练习 - 我们希望按组名获取所有用户。
解决方案:
CREATE TABLE groups (
groupname text,
username text,
email text,
age int,
PRIMARY KEY (groupname, username)
);
SELECT * FROM groups WHERE groupname = 'footballers';
但是要查找组中的所有用户,我们可以设置:PRIMARY KEY (groupname),它也可以。
为什么在这种情况下需要一个集群键(用户名)?我知道当我们将用户名设置为集群键时,我们可以在WHERE 子句中使用它。但是只通过groupname来查找用户,PRIMARY KEY (groupname)和PRIMARY KEY (groupname, username)在查询效率上有什么区别?
【问题讨论】:
标签: cassandra datastax cql cassandra-2.0 nosql