ptm*_*oy2 7 cql cassandra cqlsh
如果我使用cql定义这样的表:
CREATE TABLE scores (
name text,
age int,
score int,
date timestamp,
PRIMARY KEY (name, age, score)
);
Run Code Online (Sandbox Code Playgroud)
并在cqlsh中执行SELECT,如下所示:
select * from mykeyspace.scores;
Run Code Online (Sandbox Code Playgroud)
显示结果似乎总是被"时代"进行排序,然后按升序"得分"自动无论输入数据排序的(如预期,返回行不被分区键"名"排序).我有以下问题:
SELECT通过群集键自动对返回行进行排序?ORDER BY条款的目的是什么SELECT?ORDER BY上select *?Mik*_*ura 10
你的集群列定义的顺序(在你的情况age,然后score)
http://cassandra.apache.org/doc/cql3/CQL.html#createTableStmt
在给定的物理节点上,给定分区键的行按聚类列引入的顺序存储,使得在该聚类顺序中检索行特别有效(请参阅SELECT).
http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt
ORDER BY选项允许选择返回结果的顺序.它将列名列表与列的顺序(上升的ASC和后代的DESC,省略等同于ASC的顺序)作为参数.目前可能的订单是有限的(这取决于表CLUSTERING ORDER):
- 如果已经定义了表而没有任何特定的CLUSTERING ORDER,那么允许的排序是由聚类列引起的顺序,反之亦然.
- 否则,允许的排序是CLUSTERING ORDER选项和反转顺序的顺序.
| 归档时间: |
|
| 查看次数: |
14139 次 |
| 最近记录: |