【发布时间】:2015-09-24 19:05:18
【问题描述】:
我一直在为列族建模。截至目前,主键是 主键((side,rundate),fund)。所以我正在执行以下查询
select count(*) from cf_Summary
where side = 'Long'and rundate in ('2015-01-12 05:30:00','2015-01-13 05:30:00');
上面的查询返回 1200。如果我在下面运行查询,那么它返回 0 条记录。
select count(*) from cf_Summary
where token(side,rundate)>= token('Long','2015-01-12 05:30:00') and token(side,rundate) <= token('Long','2015-01-13 05:30:00');
令牌运算符可以应用于 datastax 网站中提到的最后两个分区列。 http://www.datastax.com/dev/blog/a-deep-look-to-the-cql-where-clause
为什么我在第二个查询中得到 0 计数。 Side 有两个值 Long 和 Short 所以我想在某个时间执行查询 long 和 sometime for short 以及某个日期范围内的两个值。在第一个查询中,我可以限制运行日期,但可以同时查询 long 和 shot。我知道两个行键都存储在不同的行上。
是否可以执行
select count(*) from cf_valuationsummary_1
where token(side,rundate)>= token('Long','2015-01-02 05:30:00') and token(side,rundate) <= token('Short','2015-01-03 05:30:00');
协调器节点可以查询两个节点以获取数据,但我想从客户端应用程序执行单个查询,尽管存在性能问题
有什么线索吗??
【问题讨论】: