【问题标题】:Hive QL DeclarationHive QL 声明
【发布时间】:2020-12-10 20:02:18
【问题描述】:

HQL 中的 CHAR() 和 VARCHAR() 声明有什么区别?

【问题讨论】:

  • VARCHAR 是可变长度,而 CHAR 是固定长度。简单的谷歌搜索就会给你。

标签: sql database relational-database hiveql


【解决方案1】:

VARCHAR 具有优势,因为可变长度数据会产生更小的行,从而产生更小的物理文件。

由于字段宽度固定,CHAR 字段需要较少的字符串操作。 CHAR 字段上的分区、查找、连接、分组比 VARCHAR 字段更快。

【讨论】:

    【解决方案2】:

    就像任何其他语言一样:

    • CHAR 是定长字符数据类型,例如如果定义 char(10) 并且输入值为 6 个字符,则剩余 4 个将用空格填充。
    • VARCHAR 具有可变长度,例如如果您定义 varchar(10) 并且输入值为 6 个字符,则将仅使用 6 个字节,不会阻塞额外的空间。

    HIVE DOC REFERENCE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多