LOB DATA

   DB2z的一个I/O单元是一个page(数据页),一个page的大小取决于bp的大小,通常可以是4K,8K,16K和32K,所以一条record最长不能超过32K,显然这个不符合现在的应用,某些数据,比如说文档,图片,影音什么的通常非常大,常规的page就存不下,因此DB2引入了数据类型是LOB的column,来存放LOB DATA。

     那么DB2是如何实现对LOB DATA的访问呢,要搞清楚这个问题,就要搞清楚LOB的设计原理。相对于LOB DATA,其它的数据类型的COLUMN都是存放在base table上的,LOB DATA是存放在定义在LOB TS的AUX TB里,另外还需要为AUX TB建一个AUX INDEX, 这样BASE TS(TB)就和LOB TS(AUX TB)通过AUX IX建立了联系。下面介绍下BASE TS/TB,LOB TS, AUX TB和AUX IX的结构,就知道怎么访问LOB DATA了。

     BASE TS:就是普通的TS,只不过建在它上面的TB包含了LOB COLUMN

    BASE TB:也是普通的TB,在创建LOB column的时候,要显示/隐式 一个ROWID column,另外对于LOB column,DB2z会自动创建4个字节的lob indicator,其中最后两个字节表示的是LOB VERSION。

    LOB TS:里面的AUX TB存的是LOB DATA,因此这种TS和普通的TS是有区别的,定义的时候要写上LOB关键字,除了普通TS有的一些PAGE之外,LOB TS有high-level space map page,low level space map page, LOB map page和LOB data page,通过这种架构存储LOB data。LOB MAP page里面有17个字节的ROWID信息,通过ROWID和AUX INDEX ENTRY建立联

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值