LOB的存储方式

LOB的存储分为三种情况:

1. 在DISABLE STORAGE IN ROW模式下,一定会使用LOb INDEX来存储,LOb index指向实际的lob chunk blocks

2.ENABLE STORAGE IN ROW模式下,也分两种:
2.1. 假设lob字段的字节数少于3964(其中lob locator 占20 bytes,lob innode 占16 bytes)
   那他就存于一个block
2.2  If the total LOB data + overhead > 4000 bytes, then the LOB item will be stored out-of-line. If the LOB fits into 12 x LOB_chunk_size, then no LOB index entries are created, because the in-line LOB locator can store up to 12 pointers to the LOB chunk blocks for each lob item.
 So if your LOB chunk size is 8kB, you can store LOB items up to 96kB in size without inserting anything to LOB index. However if the LOB item is bigger, 
 then no pointers are stored in-row and all pointers will be put to the LOB index.
 
如果超过了 96K,就会使用LOb INDEX来存储,假设2.2 的情况里的数据一旦被修改,无论其是否少于 96K,都会使用lob index.
Note that once you modify an existing LOB item (which is bigger than 4000 bytes with its overhead), but smaller than 12 x chunk_size, then LOB index will still be used after the first LOB change operation as pointers to the old LOB chunk versions have to be stored in it (LOB segments don’t rely on undo for rollback & consistency, but just use LOB chunk versioning managed by LOB index).

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12482/viewspace-731829/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12482/viewspace-731829/

你可能感兴趣的:(LOB的存储方式)