0

我在 Windows Server 2012 下运行 CrateDb 版本 3.2.7。我创建了一个这样的表:

创建表test3(firstcolumn bigint主键,secondcolumn int,thirdcolumn时间戳,fourthcolumn double,fifthcolumn double,sixtcolumn smallint,seventhcolumn double,heightcolumn int,ninthcolumn smallint,tenthcolumn smallint)聚集成12个分片(number_of_replicas = 0,refresh_interval = 0) ;

所以我希望第一个列是第一个,依此类推。但是在创建之后,当我执行 SELECT * FROM test3 时,我得到以下结果:

在此处输入图像描述

似乎返回的第一列是“第五”列看起来是按字母顺序返回的。

在此处输入图像描述

这是否意味着 CrateDB 按该顺序创建了列?它是否将订单保留在某个地方?如果列按字母顺序排列,这是否意味着如果我想将数据从另一个 dbms 复制到 CrateDB,那么我必须根据字母顺序导出数据?

4

1 回答 1

1

对于插入不一定,只有当它们被省略时,它们才必须按字母顺序排列,请参见此处。订单本身似乎并没有被“保留”在任何地方。

COPY FROM是一种不同的进口策略,而不是老好人INSERT会做的事情。我建议编写一个命令行应用程序将数据导入 cratedb。COPY FROM 不进行任何类型检查,也不强制转换类型,并且始终按源文件中的数据导入数据(请参见此处)。从您的另一个问题中,我看到您可能有与 gps 相关的数据(?),您需要手动将它们映射到一个GEO_POINT类型,就像 1 个示例一样。

Crate 通过批量端点提供良好的性能(无论对您或我意味着什么)

于 2019-05-12T23:06:17.267 回答