时间戳(timeuuid)的Cassandra限制子句
我有一个cassandra表结构,如下所示时间戳(timeuuid)的Cassandra限制子句,cassandra,timeuuid,Cassandra,Timeuuid,我有一个cassandra表结构,如下所示 create table demo (user_id text , comment_id text , timestamp timeuuid , PRIMARY KEY (user_id , comment_id , timestamp)) 现在在UI中,我需要分页,这样在单击next按钮时,我应该得到10到20的值,然后是20到30的值,依此类推 我知道我们不能在卡桑德拉发起调查 select * from demo limit 10,20 因
create table demo (user_id text , comment_id text , timestamp timeuuid , PRIMARY KEY (user_id , comment_id , timestamp))
现在在UI中,我需要分页,这样在单击next按钮时,我应该得到10到20的值,然后是20到30的值,依此类推
我知道我们不能在卡桑德拉发起调查
select * from demo limit 10,20
因此,如果我创建一个查询作为
select * from demo where timestamp = 'sometimestampvalue' limit 10;
这将给出从“sometimestampvalue
”到下一个10个值的10个值
然后将最后一行时间戳值存储在一个变量中(比如X),然后根据需要启动下一个查询
select * from demo where timestamp = 'X' limit 10;
等等,这样行吗?或者可以做一些更好的事情,因为我已经准备好更改表的结构,并且添加了计数器列,因为基本上我应该能够基于任何列进行分页。请参见以下答案:
基本上,你必须在你的应用程序代码中处理它。你的建议看起来会起作用,稍加调整 分页更容易在驱动程序中完成,您可以在驱动程序中设置获取大小。例如,在Java中:
cluster.getConfiguration().getQueryOptions().setFetchSize(10);
请参见DataStaxHi Alec,谢谢你的回答,基本上我需要这个用于UI中的分页,但我正在浏览cassandra文档,我想他们有一个分页API,可以实现这个目的,而不必担心我在问题中提出的问题。如果我错了,请建议!为了它,如果你能在答案中指出需要做哪些调整。