如何观察cluster table的chain block
os: windows 2008 64 bitdb: 10.2.0.5
在administrator guid中描述cluster key的size 设定的时候说chain of blocks
If all the rows for a given cluster key value cannot fit in one block, the blocks are chained together to speed access to all the values with the given key. The cluster index points to the beginning of the chain of blocks, each of which contains the cluster key value and associated rows.
我应如何在数据库中观察这个情况呢 There could be more entries in a cluster key than fit in a block. In such a case, there would be a
chaining of blocks with the same key. The following line has the chaining information:
curc: 2 comc: 2 pk: 0x01402d36.0 nk: 0x01402d36.0
•curc: 2 Current row count for this key in this block
•comc: 2 Committed row count for this key in this block
•pk: 0x01402d36.0 ROWID of Previous block for this cluster key
•nk: 0x01402d36.0 ROWID of Next block for this cluster key
In this example the pk and nk point back to this block so this is the only block for this cluster key.
Just as it is possible to have values for a key that need to be chained across multiple blocks, it is
also possible to have multiple key values in the same block. In this case, it is necessary to identify
which key a row belongs to. This is done using the cluster key index field (cki). The value of cki is
a pointer to the row number in tab. In this example, there is only one key in this block, hence the
value of cki is 0 for all the rows.
For another example, refer to Note: 52508.1. 非常感谢刘大。
这篇Note: 52508.1是internal的,一般的mos账号搜索不到。不知道方便分享不
页:
[1]