聚类键排序
clustering key ordered by
在 Cassandra 中,如果我有下面的 table 来存储学生的分数。分区键是 class_uuid,分数是聚类键。抛开潜在的热点问题,宽行是将所有学生存储在class中,按分数DESC排序。
CREATE TABLE class_students(
class_uuid uuid,
score double,
student_uuid uuid,
PRIMARY KEY (class_uuid,score,student_uuid)
)
WITH CLUSTERING ORDER BY (score DESC);
;
我的问题是当有两个分数相同的同学时,cassandra是如何排序保存的?
一想就知道应用的聚类排序是同一个分区键。在您的示例中,学生将按相同的 class_uuid 的分数降序排列。因此,在不同 class 中得分相同的两个学生将以不同的顺序排列。
但是,如果两个学生在同一个class中的分数相同,则顺序为插入顺序。
在 Cassandra 中,如果我有下面的 table 来存储学生的分数。分区键是 class_uuid,分数是聚类键。抛开潜在的热点问题,宽行是将所有学生存储在class中,按分数DESC排序。
CREATE TABLE class_students(
class_uuid uuid,
score double,
student_uuid uuid,
PRIMARY KEY (class_uuid,score,student_uuid)
)
WITH CLUSTERING ORDER BY (score DESC);
;
我的问题是当有两个分数相同的同学时,cassandra是如何排序保存的?
一想就知道应用的聚类排序是同一个分区键。在您的示例中,学生将按相同的 class_uuid 的分数降序排列。因此,在不同 class 中得分相同的两个学生将以不同的顺序排列。
但是,如果两个学生在同一个class中的分数相同,则顺序为插入顺序。