长数据类型

存储数据高达 32000000 八位字节。Vertica 支持两种长数据类型:

  • LONG VARBINARY:可变长度的原始字节数据,如空间数据。 LONG VARBINARY 值不会扩展到整个列宽。

  • LONG VARCHAR:可变长度的字符串,如日志文件和非结构化数据。 LONG VARCHAR 值不会扩展到整个列宽。

仅当需要存储的数据超过 VARBINARYVARCHAR 数据类型的最大大小 (65 KB) 时使用 LONG 数据类型。长数据可能包含非结构化数据、在线评论或邮件,或小的日志文件。

Flex 表具有默认的 LONG VARBINARY __raw__ 列,该列具有 NOT NULL 限制。有关详细信息,请参阅Flex 表

语法

LONG VARBINARY [(max‑length)]
LONG VARCHAR [(octet‑length)]

参数

优化性能

为了 LONG 数据类型的最佳性能,Vertica 推荐您:

  • LONG 数据类型用作仅存储容器;Vertica 支持对 LONG 数据类型的内容进行操作,但不支持 VARCHARVARBINARY 进行的所有操作。

  • 在可能情况下,使用 VARBINARYVARCHAR 数据类型代替 LONGVARBINARYVARCHAR 数据类型更灵活,且具有更广泛的操作。

  • 不要在 LONG 数据类型列上对投射进行排序、分段或分区。

  • 不要在任何 LONG VARBINARYLONG VARCHAR 列上添加限制,例如主键。

  • 不要结合或聚类任何 LONG 数据类型列。

示例

下面的例子创建一个具有 user_comments 列的表 LONG VARCHAR,并在其中插入数据:

=> CREATE TABLE user_comments
                  (id INTEGER,
                  username VARCHAR(200),
                  time_posted TIMESTAMP,
                  comment_text LONG VARCHAR(200000));
=> INSERT INTO user_comments VALUES
                  (1,
                  'User1',
                  TIMESTAMP '2013-06-25 12:47:32.62',
                  'The weather tomorrow will be cold and rainy and then
                  on the day after, the sun will come and the temperature
                  will rise dramatically.');