【发布时间】:2012-01-03 01:01:02
【问题描述】:
我打算用 SQL 来表达这个想法:
SELECT key,value
FROM table1
WHERE value > 10
还是我们总是需要知道密钥?
【问题讨论】:
标签: database cassandra p2p distributed-computing
我打算用 SQL 来表达这个想法:
SELECT key,value
FROM table1
WHERE value > 10
还是我们总是需要知道密钥?
【问题讨论】:
标签: database cassandra p2p distributed-computing
我想您可以使用从 casssandra 0.7 版开始可用的二级索引。 您还可以查看以下答案:Cassandra and Secondary-Indexes, how do they work internally?
建议仅对低基数列使用二级索引,这意味着对于没有很多不同值的列(例如,像“状态”或“优先级”这样的列通常只有少数不同的值,比如“高” '、'中'、'低')。
如果您使用 Hector 作为您的 cassandra 客户端,您可以在此处找到如何使用它们的信息: https://github.com/rantav/hector/wiki/User-Guide
【讨论】:
是的,当然,例如,你可以使用 *
select * from CF where value = 10
如果您使用 Hector API(例如 CqlQuery),您可以从此查询中获取行列表。
注意,目前对于二级索引,您必须至少有一个相等条件,因此您的查询仅具有 value > 10 将不起作用。见this question
【讨论】: