Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
时间戳(timeuuid)的Cassandra限制子句_Cassandra_Timeuuid - Fatal编程技术网

时间戳(timeuuid)的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 因

我有一个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 
因此,如果我创建一个查询作为

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);

请参见DataStax

Hi Alec,谢谢你的回答,基本上我需要这个用于UI中的分页,但我正在浏览cassandra文档,我想他们有一个分页API,可以实现这个目的,而不必担心我在问题中提出的问题。如果我错了,请建议!为了它,如果你能在答案中指出需要做哪些调整。