我有一个由四个字段组成的复合列:(field1,field2,field3,field4)。我需要执行以下切片查询: 1.获取field2具有特定值且其他字段无关紧要的所有复合列。假设我的行键有三个复合列:('ACTIVE','35','Name','Time'),('INACTIVE','35','City','Country')和(‘INACTIVE’,'25','Time','Zone')。假设field3的行键和值为'35‘,我应该会得到前两个复合列的结果。任何建议都将受到高度赞赏。
发布于 2011-11-27 04:24:00
field1可以有多少不同的值?具有组合键的列首先按第一个维度排序,然后按下一个维度排序,依此类推。要使用field2=x检索所有值,您必须至少|field1| read,或者扫描整个行。您是否考虑过将field2和field1互换?这将使此查询变得更容易。
如果需要使用field1=x对所有值进行查询,并且希望单独使用field2=y进行查询,则还可以考虑插入数据两次,并对组合键的维度进行不同的排序。如果你的date是一次写入,那么效果最好。如果这是不可接受的,那么唯一的选择是执行三个查询:
“主动”;y;“”;“”->“主动”;y;“”;“”->“非主动”;y:“”;“”被动“;y;”“->”被动“;y:”“;”“
如果field1有三个以上的可能值,这将不会很好地工作。
https://stackoverflow.com/questions/8265435
复制相似问题