序列

序列可用于将列的默认值设置为连续整数值。序列保证了唯一性,并避免了约束强制执行问题和开销。序列对于主键列特别有用。

虽然序列对象值保证唯一,但不能保证它们连续,因此您可能会将返回的值解释为缺失。例如,两个节点可以用不同的速率递增序列。具有较大处理负载的节点将递增序列,但在具有较小处理负载的节点上递增的值不连续。

Vertica 支持以下序列类型:

  • 命名序列是以升序或降序顺序生成唯一编号的数据库对象。命名序列是通过 CREATE SEQUENCE 语句独立定义的,并且独立于引用它们的表进行管理。一个表可以将一个或多个列的默认值设置为命名序列。

  • AUTO_INCREMENT/IDENTITY 列序列:列约束 AUTO_INCREMENTIDENTITY 是同义词,用于指定在添加新行时递增或递减列的值。此序列类型与表相关,不会独立保留。一个表只能包含一个 AUTO_INCREMENTIDENTITY 列。