ROWID问题1:SELECT 表后,发现ID号并未按我们预想的那样递增,而是出现断裂,甚至序号混乱
解决方案:该问题应该出现在集群环境中,加上NO CACHE,ORDER两个选项
ROWID问题2:清除表中数据后,再插入数据我们会发现ID号不是从1开始,而是从删除前的ID号加1开始分配。
解决方案:
重置ID起始号,命令 ALTER TABLE TEST1 ALTER COLUMN ID RESTART WITH 1
以下详细解释下问题1的原因
产生序列号混乱不按我们设想的产生的CREATE TABLE语句一般如下:
CREATE TABLE TEST1(
ID INT
GENERATED ALWAYS AS IDENTITY(START WITH 1,INCREMENT BY 1),
NAME CHAR(10) NOT NULL WITH DEFAULT,
PRIMARY KEY (ID)
)
首先明确下,这段语句,DB2默认有两个选项:CACHE [20]
CACHE [20] 预先分配20个