Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

原生协议列类型

如需了解一般性参考信息,请参阅 数据类型

类型 编码
整数 (Int/UInt) 小端序的 8、16、32、64、128 或 256 位
浮点数 (Float32/Float64) IEEE 754 二进制表示
String 字符串数组,编码为 (len, value)
FixedString(N) N 字节序列数组
IPv4 UInt32 的别名,表示为 UInt32
IPv6 FixedString(16) 的别名,表示为二进制
Tuple 按顺序连续编码的列数组。示例:Tuple(String, UInt8) = 两个连续的列
Map Map(K, V) = 三列:Offsets ColUInt64, Keys K, Values V。Keys/Values 的行数 = Offsets 的最后一个值
Array Array(T) = 两列:Offsets ColUInt64, Data T。Data 的行数 = Offsets 的最后一个值
Nullable Nullable(T) = 两列:Nulls ColUInt8, Values T,且两者的行数相同。Nulls 是掩码:1=NULL,0=值
UUID FixedString(16) 的别名,表示为二进制
Enum Int8Int16 的别名,每个整数都映射到一个 String 值
LowCardinality LowCardinality(T) = 两列:Index T, Keys K,其中 K 是 UInt8/16/32/64。Index 包含唯一值,Keys 包含指向 Index 的索引
Bool UInt8 的别名:0=false,1=true

示例:Nullable 编码

To encode [null, "", "hello", null, "world"]:
  Values: ["", "", "hello", "", "world"] (len: 5)
  Nulls:  [ 1,  0,       0,  1,       0] (len: 5)

示例:LowCardinality 编码

To encode ["Eko", "Eko", "Amadela", "Amadela", "Amadela", "Amadela"]:
  Index: ["Eko", "Amadela"] (String)
  Keys:  [0, 0, 1, 1, 1, 1] (UInt8)
Navigation