Cassandra 时间戳限制子句(timeuuid)

标签 cassandra timeuuid

我有一个 cassandra 表结构如下

create table demo (user_id text , comment_id text , timestamp timeuuid , PRIMARY KEY (user_id , comment_id , timestamp))

现在在 UI 中我想要分页,这样在单击下一个按钮时,我应该获得从 10 到 20,然后是 20 到 30 的值,依此类推。

我知道我们无法在 cassandra 中发起查询

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;

等等,这行得通吗?或者可以做更好的事情,因为我准备更改表的结构,并添加计数器列,因为基本上我应该能够基于任何列进行分页。

最佳答案

看这个答案: Cassandra Limit 10,20 clause

基本上,您必须在应用程序代码中处理它。您的建议看起来会起作用,只需稍加调整。

关于Cassandra 时间戳限制子句(timeuuid),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38437358/

相关文章:

database - 有没有办法在Golang中实现cassandra "decimal"数据类型

Docker 中的 Cassandra

python - CQLSH复制错误类型错误: 'int' object is not iterable

javascript - 用于多平台应用程序的可排序 UUID v1

scylla - 从 scylla 中选择时如何保证单调增加 timeuuid

Cassandra UUID 与 TimeUUID 的优缺点

cassandra - 如何复制 Akka Persistence Cassandra 数据库

cassandra - 不打产品的情况下对产品 Scylla DB 进行数据分析?