从cassandra表中选择所有内容

时间:2015-09-16 11:52:37

标签: cassandra cql cql3

目前,我使用以下查询as described here来浏览表格:

 select token(id) as token_id, description, title from my_table where token(id) >= -8987733732583272758 limit 10;

将使用上一个查询的最后一个标记查询下一页:

 select token(id) as token_id, description, title from my_table where token(id) >= -7325522621472161647 limit 10;

现在我的问题是:这是正确的吗?结果集总是按令牌(id)排序,这样我就不会跳过任何行吗?

2 个答案:

答案 0 :(得分:3)

我认为自从Cassandra 2.0以来,如果你使用java驱动程序,就会有自动分页功能。因此,令牌方法可能不是浏览表格的最佳方式。

在此处查看更多信息:automatic paging

答案 1 :(得分:1)

谢谢吉姆!您提供的链接实际上包含了我需要的所有信息: - )

  

在我们需要迭代整个表的情况下,我们将不得不使用token()函数,而不是跨群集排序的分区键,而是分区键的令牌。所以之前的两个查询变为:

SELECT * FROM images LIMIT 100;
SELECT * FROM images WHERE token(image_id) > token([Last image ID received]) LIMIT 100;