5

在 Cassandra 中有一个包含大约 2000 万行的表。

该表按primary_key列排序,该列是一个字符串。我们使用的是“ByteOrderedPartitioner”,因此行是按列排序的,primary_key而不是primary_key列的散列。

获取表中最后一条记录的好方法是什么?

非常感谢!

4

1 回答 1

1

如果对于“最后一条记录”,您的意思是最后订购的记录,我认为您不能像“GET”那样做,您必须扫描行。你能做的最好的事情,afaik,就是根据你的主键选择一个好的扫描范围(好的开始键)。

从 datastax 文档:

“使用有序分区程序允许按主键进行有序扫描。这意味着您可以像在传统索引中移动游标一样扫描行。例如,如果您的应用程序将用户名作为行键,您可以扫描用户的行他们的名字介于 Jake 和 Joe 之间。这种类型的查询不可能使用随机分区的行键,因为键是按照它们的 MD5 散列的顺序存储的(不是按顺序存储的)。

如果您找到更好的解决方案,请告诉我。

问候, 卡罗

于 2013-06-04T21:24:13.353 回答