【发布时间】:2011-11-25 06:21:42
【问题描述】:
我有一个由四个字段组成的复合列:(field1, field2, field3, field4)。我需要执行以下切片查询: 1.获取field2具有特定值的所有复合列,其他字段无关紧要。假设我有三个组合列作为行键:('ACTIVE', '35', 'Name', 'Time'), ('INACTIVE', '35', 'City', 'Country') 和(“被动”、“25”、“时间”、“区域”)。给定 field3 的行键和值作为 '35' 我应该得到前两个复合列的结果。任何建议将不胜感激。
【问题讨论】:
-
field1 可以有多少个不同的值?具有复合键的列首先按第一个维度排序,然后是下一个维度,依此类推。要使用 field2=x 检索所有值,您至少必须执行 |field1|读取或扫描整行。您是否考虑过交换 field2 和 field1?这将使这个查询更容易。
-
@tom.wilkie,您应该将此作为答案而不是评论。
-
我还需要使用 field1 执行查询,这就是我将它放在首位的原因。此外,在我的例子中,field1 只能具有三个唯一值(ACTIVE、INACTIVE 和 PASSIVE)。 Field2 是一个 ID,可以有数百万个唯一值。其余字段也是如此。