gpt4 book ai didi

cassandra - 从 Cassandra 获取最后插入的数据

转载 作者:行者123 更新时间:2023-12-01 11:33:08 27 4
gpt4 key购买 nike

我们的表中有一个主键作为 UUID。要获取最后一条记录,我们按 desc uuid 字段排序。然而,因为这个字段不是整数,我们并不总是得到最后一条记录。有没有办法获得最后一条记录?请注意,我们不想制作簇列。

这是我的 table

ArtistId (partition key)  | SongId (primary key, uuid) |  Song
--------------------------------------------
1 | 9a9fa429-c349-4137 | abc
1 | 9a9fa429-b349-6137 | cde
1 | 9a9ga429-a349-6132 | fgh
2 | 249ga429-a909-6542 | ijk
2 | 249kg429-a239-3652 | lmn
1 | i55oa429-a909-3462 | opq
1 | e4235k59-4ik9-6542 | rst

最佳答案

长话短说:TimeUUID cql3 类型来拯救!

如果您有这样的数据库模式:

create table music (
artist_id int,
song_id timeuuid,
song text,
primary key (artist_id, song_id)
) with clustering order by (song_id desc);

请注意对原始架构的这些更改:

  • uuid 改为 timeuuid
  • 聚类键逆序

表格中包含一些数据:

 artist_id | dateOf(song_id)          | song
-----------+--------------------------+------
1 | 2015-05-29 13:25:15+0300 | baz
1 | 2015-05-29 13:25:11+0300 | bar
1 | 2015-05-29 13:25:06+0300 | foo
2 | 2015-05-29 13:25:19+0300 | qux

要获取固定 artist_id 的最新 song_id,您可以运行如下查询:

select artist_id,dateOf(song_id),song from music where artist_id=1 limit 1;

关于cassandra - 从 Cassandra 获取最后插入的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506511/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com