Data Blocks and Freelists (from ixora)[9]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 youbo2004 的 blog

the data area

immediately following the transaction layer header is the 14-byte common header for the data layer (kdb). the remainder of the data layer header differs for cluster, table and index blocks. cluster blocks have a table directory, followed by a row directory. each slot in the table directory takes 4 bytes, and each slot in the row directory takes 2 bytes. table blocks are the same as cluster block, except that there can only be one table in the table directory. index blocks have a 16-byte common index block header following the common data block header, and then either a 24-byte branch block header, or a 32-byte leaf block header, depending on the block type. these index headers are followed by a row directory, as for clusters and tables.

the body of each block contain the row data and free space. in general rows are inserted from the bottom of the block. however, block free space is not coalesced when rows are deleted or updated such that the overall row length is reduced. block free space is only coalesced when more contiguous space is needed for an insert or update than that which is available.

本文关键:Data Blocks and Freelists (from ixora)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top