Перейти к основному содержанию
См. Типы данных для общей справки.
Кодирование числовых типов соответствует их представлению в памяти на процессорах с порядком байтов little-endian, таких как AMD64 и ARM64, что делает кодирование и декодирование очень эффективными.
TypeEncoding
Целые числа (Int/UInt)8, 16, 32, 64, 128 или 256 бит в формате little-endian
Числа с плавающей точкой (Float32/Float64)Двоичное представление IEEE 754
StringМассив строк в виде (len, value)
FixedString(N)Массив N-байтовых последовательностей
IPv4Псевдоним для UInt32, представляется как UInt32
IPv6Псевдоним для FixedString(16), представляется в двоичном виде
TupleМассив столбцов, закодированных подряд. Пример: Tuple(String, UInt8) = два столбца подряд
MapMap(K, V) = три столбца: Offsets ColUInt64, Keys K, Values V. Число строк в Keys/Values = последнее значение Offsets
ArrayArray(T) = два столбца: Offsets ColUInt64, Data T. Число строк в Data = последнее значение Offsets
NullableNullable(T) = два столбца: Nulls ColUInt8, Values T с одинаковым числом строк. Nulls — это маска: 1=null, 0=value
UUIDПсевдоним для FixedString(16), представляется в двоичном виде
EnumПсевдоним для Int8 или Int16, где каждому целому числу сопоставлено значение String
LowCardinalityLowCardinality(T) = два столбца: Index T, Keys K, где K — UInt8/16/32/64. Index содержит уникальные значения, Keys содержит индексы в Index
BoolПсевдоним для UInt8: 0=false, 1=true
Пример: кодирование Nullable
Пример: кодирование LowCardinality
Последнее изменение 2 июля 2026 г.