DB2 ROWID 问题总结

DB2在member表中对ID号进行预分配,初始分配20个,根据需要动态增加。每个ID号归属特定member,故障可能导致CACHE中ID丢失且不可复用。
摘要由CSDN通过智能技术生成

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个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值