【发布时间】:2020-12-10 20:02:18
【问题描述】:
HQL 中的 CHAR() 和 VARCHAR() 声明有什么区别?
【问题讨论】:
-
VARCHAR 是可变长度,而 CHAR 是固定长度。简单的谷歌搜索就会给你。
标签: sql database relational-database hiveql
HQL 中的 CHAR() 和 VARCHAR() 声明有什么区别?
【问题讨论】:
标签: sql database relational-database hiveql
VARCHAR 具有优势,因为可变长度数据会产生更小的行,从而产生更小的物理文件。
由于字段宽度固定,CHAR 字段需要较少的字符串操作。 CHAR 字段上的分区、查找、连接、分组比 VARCHAR 字段更快。
【讨论】:
就像任何其他语言一样:
CHAR 是定长字符数据类型,例如如果定义 char(10) 并且输入值为 6 个字符,则剩余 4 个将用空格填充。VARCHAR 具有可变长度,例如如果您定义 varchar(10) 并且输入值为 6 个字符,则将仅使用 6 个字节,不会阻塞额外的空间。【讨论】: