Hive QL 声明
Hive QL Declaration
HQL 中的 CHAR() 和 VARCHAR() 声明有什么区别?
就像任何其他语言一样:
CHAR
是固定长度的字符数据类型,例如如果你定义 char(10) 并且输入值是 6 个字符,那么剩下的 4 个将用 spaces 填充。
VARCHAR
具有可变长度,例如,如果您定义 varchar(10) 并且输入值是 6 个字符,则将仅使用 6 个字节,并且不会阻止额外的 space。
VARCHAR 具有优势,因为可变长度数据会产生更小的行,因此产生更小的物理文件。
CHAR 字段需要较少的字符串操作,因为字段宽度固定。 CHAR 字段上的 Partiton、lookup、join、group 比 VARCHAR 字段更快。
HQL 中的 CHAR() 和 VARCHAR() 声明有什么区别?
就像任何其他语言一样:
CHAR
是固定长度的字符数据类型,例如如果你定义 char(10) 并且输入值是 6 个字符,那么剩下的 4 个将用 spaces 填充。VARCHAR
具有可变长度,例如,如果您定义 varchar(10) 并且输入值是 6 个字符,则将仅使用 6 个字节,并且不会阻止额外的 space。
VARCHAR 具有优势,因为可变长度数据会产生更小的行,因此产生更小的物理文件。
CHAR 字段需要较少的字符串操作,因为字段宽度固定。 CHAR 字段上的 Partiton、lookup、join、group 比 VARCHAR 字段更快。