我有下表:
CREATE TABLE选项卡 ( userID varchar, grpID varchar, itemID varchar, 时间戳bigint, PRIMARY KEY());
我需要在这个表上执行以下查询,其中:
此外,结果应按时间戳字段按降序排序,这使得时间戳成为我的聚类键。
我希望避免重复数据或使用2个主键创建相同的表来实现我的查询。
现在我的主键应该是什么,以便我能够执行所有这些查询?
答案 0 :(得分:1)
你无法通过限制来实现这一切
userID=x
如果检索到的行不是很大,您可以执行客户端排序 - 或者您可以使用辅助索引。辅助索引自动创建并保留新表(因此重复数据,违反您的条款!)但应允许您执行所有操作。辅助索引不允许IN运算符,因此您应该选择userID作为查找键。
顺便说一下:NoSQL中的非规范化非常正常 - 因此数据复制在这种情况下是常见的。
HTH,Carlo