当前位置:  开发笔记 > 编程语言 > 正文

在Cassandra订购的列

如何解决《在Cassandra订购的列》经验,为你挑选了1个好方法。

当我创建CQL表,是否有必要准确的是列的排列顺序不是在primary_key和NOT聚类列:

CREATE TABLE user (
    a ascii,
    b ascii,
    c ascii,
    PRIMARY KEY (a)
);

它等同于?

CREATE TABLE user (
    a ascii,
    c ascii, <-- switched
    b ascii, <-- switched
    PRIMARY KEY (a)
);

谢谢您的帮助



1> Aaron..:

这两个陈述都会失败,因为:

额外的逗号.

您尚未提供主键定义.

假设你有那些固定的,那么答案仍然是"是的,它们是相同的".

Cassandra在创建表时将自己的订单应用于您的列.考虑这个表,因为我输入了它:

CREATE TABLE testorder ( 
  acolumn text,
  jcolumn text,
  dcolumn text,
  bcolumn text,
  apkey text,
  bpkey text,
  ackey text,
  bckey text,
  PRIMARY KEY ((bpkey,apkey),bckey,ackey));

创建它之后,我将描述该表,以便您可以看到Cassandra已应用于列的顺序.

aploetz@cqlsh:stackoverflow> desc table testorder ;

CREATE TABLE stackoverflow.testorder (
    bpkey text,
    apkey text,
    bckey text,
    ackey text,
    acolumn text,
    bcolumn text,
    dcolumn text,
    jcolumn text,
    PRIMARY KEY ((bpkey, apkey), bckey, ackey)
) WITH CLUSTERING ORDER BY (bckey ASC, ackey ASC)

本质上,Cassandra将对分区键和聚类键(按PRIMARY KEY定义中的优先级排序)进行排序,然后列按升序排列.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有