跳到主要内容
跳到主要内容

列类型

请参阅 数据类型 以获取一般参考。

数值类型

提示

数值类型编码与小端 CPU(如 AMD64 或 ARM64)的内存布局相匹配。

这使得实现非常高效的编码和解码成为可能。

整数

以小端格式的 Int 和 UInt 的 8、16、32、64、128 或 256 位字符串。

浮点数

Float32 和 Float64 采用 IEEE 754 二进制表示。

字符串

仅为字符串数组,即 (len, value)。

FixedString(N)

N 字节序列的数组。

IP

IPv4 是 UInt32 数值类型的别名,表示为 UInt32。

IPv6 是 FixedString(16) 的别名,直接表示为二进制。

元组

元组仅仅是列的数组。例如,Tuple(String, UInt8) 只是两个列 连续编码。

映射

Map(K, V) 由三列组成:Offsets ColUInt64, Keys K, Values V

KeysValues 列中的行数由 Offsets 中的最后一个值决定。

数组

Array(T) 由两列组成:Offsets ColUInt64, Data T

Data 列中的行数由 Offsets 中的最后一个值决定。

可空

Nullable(T)Nulls ColUInt8, Values T 组成,行数相同。

UUID

FixedString(16) 的别名,UUID 值以二进制表示。

枚举

Int8Int16 的别名,但每个整数映射到某个 String 值。

低基数

LowCardinality(T)Index T, Keys K 组成, 其中 K 是(UInt8、UInt16、UInt32、UInt64)中的一个,取决于 Index 的大小。

布尔

UInt8 的别名,其中 0 表示 false,1 表示 true。