ClickHouse 架构概述之Field介绍


ClickHouse 架构概述之Field介绍

盛年不重来,一日难再晨,及时当勉励,岁月不待人

尽管如此,有时候也可能需要处理单个值。表示单个值,可以使用 FieldField 是 UInt64Int64Float64String 和 Array 组成的联合。IColumn 拥有 operator[] 方法来获取第 n 个值成为一个 Field,同时也拥有 insert 方法将一个 Field 追加到一个列的末尾。这些方法并不高效,因为它们需要处理表示单一值的临时 Field 对象,但是有更高效的方法比如 insertFrom 和 insertRangeFrom 等。

Field 中并没有足够的关于一个表(table)的特定数据类型的信息。比如,UInt8UInt16UInt32 和 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模板类来表示,达到更通用和高效的目的。

支持等于、小于、大于、小于等于、大于等于、==和不等于等算法,对应的类如下图所示:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM