为什么';t Teradata标识列增量为1?

为什么';t Teradata标识列增量为1?,teradata,Teradata,我有下表 CREATE SET TABLE myTab,FALLBACK,NO BEFORE JOURNAL,NO AFTER JOURNAL,CHECKSUM = DEFAULT,DEFAULT MERGEBLOCKRATIO ( my_id BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1 MINVALUE 1

我有下表

CREATE SET TABLE myTab,FALLBACK,NO BEFORE JOURNAL,NO AFTER JOURNAL,CHECKSUM = DEFAULT,DEFAULT MERGEBLOCKRATIO
     (
      my_id BIGINT GENERATED ALWAYS AS IDENTITY
           (START WITH 1 
            INCREMENT BY 1 
            MINVALUE 1 
            MAXVALUE 922337203685477580 
            NO CYCLE),
      created_by VARCHAR(200) )
UNIQUE PRIMARY INDEX ( my_id );  
当我开始插入此表(
INSERT-into-myTab(created\u by)VALUES('test')
)时,以下是自动生成的
my\u id
的值

my_id
1
100,001
100,002
200,001
300,001
400,001
500,001
500,002
600,001

我想让1,2,3…增加1。我读了,但仍然不明白。为什么它会增加一个随机数?这样我很快就会达到
最大值922337203685477580
。然后会发生什么?

我相信可以在SQL数据定义语言中找到您想要的解释-详细信息第5章:创建表.Identity列下的主题并不旨在提供将行加载到表中的准确顺序


如果需要顺序标识符,则必须在ETL中使用表中的最大值加上
行编号()的组合来维护该标识符
分配给正在加载到表中的数据集。否则,您可能需要重新考虑在实现中是否实际需要序列id/行数。

即使该值以百万计(此处以十万计)千万不要在小于一百万的数字上迭代,你就不会用完数字。比如说……即使以一百万计,你仍然有一万亿个数字需要通过。谢谢。这是有道理的。但我仍然不明白它为什么要这样做?如果它现在增加了十万,谁知道它明天可能开始增加一百万。你怎么知道es Teradata确定增量值?是随机的吗?还有,
increment BY 1
…这个命令(如果您愿意)有什么不同吗