长数据类型
存储数据高达 32000000 八位字节。Vertica 支持两种长数据类型:
-
LONG VARBINARY
:可变长度的原始字节数据,如空间数据。LONG VARBINARY
值不会扩展到整个列宽。 -
LONG VARCHAR
:可变长度的字符串,如日志文件和非结构化数据。LONG VARCHAR
值不会扩展到整个列宽。
仅当需要存储的数据超过 VARBINARY
和 VARCHAR
数据类型的最大大小 (65 KB) 时使用 LONG
数据类型。长数据可能包含非结构化数据、在线评论或邮件,或小的日志文件。
Flex 表具有默认的 LONG VARBINARY __raw__
列,该列具有 NOT NULL
限制。有关详细信息,请参阅Flex 表。
语法
LONG VARBINARY [(max‑length)]
LONG VARCHAR [(octet‑length)]
参数
优化性能
为了 LONG
数据类型的最佳性能,Vertica 推荐您:
-
将
LONG
数据类型用作仅存储容器;Vertica 支持对LONG
数据类型的内容进行操作,但不支持VARCHAR
和VARBINARY
进行的所有操作。 -
在可能情况下,使用
VARBINARY
和VARCHAR
数据类型代替LONG
。VARBINARY
和VARCHAR
数据类型更灵活,且具有更广泛的操作。 -
不要在
LONG
数据类型列上对投射进行排序、分段或分区。 -
不要在任何
LONG VARBINARY
或LONG 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.');