在cassandra DB中我正在使用令牌函数对日期类型的分区键列进行范围查询,但是我得到的结果不正确。我打算在2016-09-09之后获得记录,但我也会得到2016-09-07的记录。
Cassandra版本:2.1.8 CQL版本:3.0
请参阅下面的查询,如果我做错了,请告诉我
user@cqlsh:mydb> select updated_on_day,updated_on from sample_data where token(updated_on_day) > token('2016-09-09') and token(updated_on_day) < token('2016-11-11') limit 10;
updated_on_day | updated_on
--------------------------+--------------------------
2016-09-14 00:00:00+0530 | 2016-09-14 11:53:03+0530
2016-09-14 00:00:00+0530 | 2016-09-14 14:26:58+0530
2016-09-14 00:00:00+0530 | 2016-09-14 15:30:48+0530
2016-09-14 00:00:00+0530 | 2016-09-14 16:01:56+0530
2016-09-07 00:00:00+0530 | 2016-09-07 12:36:36+0530
答案 0 :(得分:0)
当然,您的分区是按其令牌排序的,除非您使用保留分区键的原始字节顺序的ByteOrderedPartitioner,否则可以假定它们的顺序是随机的。
Here是我最近对类似问题的回答。