Aka*_*all 3 primary-key cassandra
我刚开始接手了cassandra.
如果我能做到以下几点,我很好奇:
session.execute("CREATE TABLE IF NOT EXISTS mykeyspace.newtable
(user_id int,
item_id int,
tstamp timestamp,
PRIMARY KEY(user_id, item_id, tstamp))")
Run Code Online (Sandbox Code Playgroud)
我的理解:
我知道我user_id是一个分区键,我只能过滤它=.我item_id和tstamp是群集密钥.我可以item_id按范围过滤(使用等号),对于给定的item_id我可以按范围过滤tstamp,但如果item_id没有指定,我根本无法过滤tstamp.
我的问题:
有没有办法指定我PRIMARY KEY这样我可以:
1)过滤by =user_id(我已经拥有它)
2)按=item_id 过滤(我已经拥有它)
3)按tstamp的范围过滤(我没有)
如果我将我的PRIMARY KEY规范更改为:
PRIMARY KEY(user_id, tstamp, item_id)
Run Code Online (Sandbox Code Playgroud)
然后我将无法再过滤item_id.因此,如果有一种方式以某种方式过滤而item_id没有指定tstamp我会得到我的答案.
有没有办法实现我想要的?
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |