标签:tab cli operator 介绍 auto field array 使用 模板
ClickHouse 架构概述之Field介绍
盛年不重来,一日难再晨,及时当勉励,岁月不待人
尽管如此,有时候也可能需要处理单个值。表示单个值,可以使用 Field
。Field
是 UInt64
、Int64
、Float64
、String
和 Array
组成的联合。IColumn
拥有 operator[]
方法来获取第 n
个值成为一个 Field
,同时也拥有 insert
方法将一个 Field
追加到一个列的末尾。这些方法并不高效,因为它们需要处理表示单一值的临时 Field
对象,但是有更高效的方法比如 insertFrom
和 insertRangeFrom
等。
Field
中并没有足够的关于一个表(table)的特定数据类型的信息。比如,UInt8
、UInt16
、UInt32
和 UInt64
在 Field
中均表示为 UInt64
。
Field对应的代码目录位置在dbms\src\Core下的Field.cpp和Field.h
Field的作用在于可以将Null、UInt64、Int64、Float64、UInt128、Int128、String、Array、Tuple、Decimal32、Decimal64、Decimal128和AggregateFunctionState这些类型都用Field模板类来表示,达到更通用和高效的目的。
支持等于、小于、大于、小于等于、大于等于、==和不等于等算法,对应的类如下图所示:
标签:tab cli operator 介绍 auto field array 使用 模板
原文地址:https://www.cnblogs.com/snake-fly/p/12541912.html