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