update

update某条记录的时候,如果index key column也被update了,那么在找到index entry后,先对旧的index entry做一个pseudo delete,再插入一条新的index entry(new key+old rid), 那么找到RID后,在data page上把old column value替换成new column value。

在这种场景下,尽管data page没发生多大变化,但是每次update就会产生一个pseudo index entry,这样就加大了维护index的负担,pseudo index entry在物理上也是占据存储空间的,频繁的update操作就会产生大量的pseudo index entry, 从而导致index split,而DB2z也有机制去清理pseudo index page,这些都会导致lotch/lock on index, 过多的维护index必然导致index效率低下。

通过DSN1PRNT可以看到update前后data/index的情况

update之前data page log+ dsn1prnt


update之前index leaf page+dsn1prnt


update后index leaf page+ DSN1PRNT

update后data page log+DSN1PRNT

       


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值