【发布时间】:2014-02-21 01:22:39
【问题描述】:
在 cassandra 中创建表时,我们可以提供具有如下排序的聚类键。
Create table user(partitionkey int, id int, name varchar, age int, address text,
insrt_ts timestamp,
Primary key(partitionkey, name, insrt_ts, id)
with clustering order by (name asc, insrt_ts desc, id asc);
当我们向该表中插入数据时,根据 cassandra 文档记录,将根据聚类键进行排序。
当我使用 CQL1 和 CQL2 检索记录时,我得到的是相同的排序顺序。
CQL1:
Select * from user where partitionkey=101;
CQL2:
Select * from user where partitionkey=101 order by name, insrt desc, id;
CQL1 和 CQL2 有什么区别?
【问题讨论】:
-
您的聚类列与 CQL2 语句中的 ORDER BY 相同。为什么您希望两个语句之间的结果排序不同?
-
因此,如果我们想要聚类键顺序中的值,则没有必要提及 order by 子句。当我查询具有不同顺序的记录时,出现错误。我可以知道我可以用上面的集群键做什么其他排序吗?
标签: cassandra cql cassandra-2.0