clickhouse基本数据类型


百度clickhouse的学习资料太少了,于是自己就摸索中整理了一点资料,与大家分享,
//clickhouse常用的数据类型
1、整型:JInt8,UInt16,UInt32,UInt64,Int8,Int16,Int32,Int64 释:(范围U开头-2^N/2~2^N-1;非U开头0~2^N-1)
2、枚举类型:Enum8,Enum16 释:(Enum('hello'=1,'test'=-1),Enum是有符号的整型映射的,因此负数也是可以的)
3、字符串型:FixedString(N),String 释:(N是最大字节数,不是字符长度,如果是UTF8字符串,那么就会占3个字节,GBK会占2字节;String可以用来替换VARCHAR,BLOB,CLOB等数据类型)
4、时间类型:Date
5、数组类型:Array(T) 释:(T是一个基本类型,包括arry在内,官方不建议使用多维数组)
6、元祖数:Tuple
7、结构:Nested(name1 Type1,name2 Type2,...) 释:(类似一种map的结构)
example:
CREATE TABLE visit(
 id UInt32,
 tm Date,
 ...
 Goals Nested
 (
    tid UInt32,
    oder String    
 )
)ENGINE=...
//clickhouse常用的存储数据类型
Memory、MergeTree(date,part,index_granularity)
 释:
1、MergeTree系列的引擎(家族),数据是由多组part文件组成的,一般来说每个月(译者注:CK目前最小分区是月)会有几个part文件(这里的part就是block)
2、每一个part数据,是按照主键进行字典序排序的。例如你有一个主键(countid,date),数据会首先按照countid排序,如果countid一样,那么再按照date排序
3、主键的数据结构,看起来像是标记文件组成的矩阵,这个标记文件就是每间隔index_granularity(索引粒度)行的主键值
4、MergeTree引擎中,默认的index_granularity是8192



你可能感兴趣的:(Clickhouse数据库)