CLUSTER內部結構的總結(4)

litterbaby發表於2007-06-04
CLUSTER內部結構的總結(4)[@more@]

以下的部分就是資料的指標地址部分:

0x1a:pri[0] offs=0x1f83

0x1c:pri[1] offs=0x1f64

0x1e:pri[2] offs=0x1f45

0x20:pri[3] offs=0x1f26

以上是c_t的資料

0x22:pri[4] offs=0x1f79

0x24:pri[5] offs=0x1f5a

0x26:pri[6] offs=0x1f3b

0x28:pri[7] offs=0x1f1c

以上是t1的資料

0x2a:pri[8] offs=0x1f12

0x2c:pri[9] offs=0x1f08

0x2e:pri[10] offs=0x1efe

0x30:pri[11] offs=0x1ef4

以上是t2的資料

以下的部分就是資料的實現部分:

tab 0, row 0, @0x1f83 --第一個表的第一行,後面是偏移地址

tl: 21

這一行的長度(位元組),但是這個在物理上並沒有儲存,不知道是怎麼得到的,應該是計算出來的吧

fb: K-H-FL-- lb: 0x0 cc: 1 ――

K表示的是cluster鍵。而在下面會看到-CH-FL--,其中這個Ccluster的表成員。

curc: 2 comc: 2 pk: 0x0140000c.0 nk: 0x0140000c.0

這一部分應該說是比較複雜的東西,例如在這個塊中存放的clusterSIZE設定為10的話,但是塊的空間是有限的,隨著cluster的表的空間不斷擴充套件,這個塊就無法容納這麼多的行的資料,必然會產生連線,這一部分就是說明連線的位置資訊的。當然由於連線必然會對效能產生不利的影響。

Curc 當前在這個塊上的這個鍵有多少行的計數。

Comc 在這個塊上的cluster鍵的提交的行數。

Pk:這個cluster鍵前一個塊的地址ROWID

Nk:這個cluster鍵下一個塊的地址ROWID

剩餘的部分就和堆資料儲存格式完全一樣了

col 0: [ 1] 31

tab 0, row 1, @0x1f64

tl: 21 fb: K-H-FL-- lb: 0x0 cc: 1

curc: 2 comc: 2 pk: 0x0140000c.1 nk: 0x0140000c.1

col 0: [ 1] 32

tab 0, row 2, @0x1f45

tl: 21 fb: K-H-FL-- lb: 0x0 cc: 1

curc: 2 comc: 2 pk: 0x0140000c.2 nk: 0x0140000c.2

col 0: [ 1] 33

tab 0, row 3, @0x1f26

tl: 21 fb: K-H-FL-- lb: 0x0 cc: 1

curc: 2 comc: 2 pk: 0x0140000c.3 nk: 0x0140000c.3

col 0: [ 1] 34

tab 1, row 0, @0x1f79

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 0

col 0: [ 5] 74 31 31 31 31

tab 1, row 1, @0x1f5a

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 1

col 0: [ 5] 74 31 32 32 32

tab 1, row 2, @0x1f3b

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 2

col 0: [ 5] 74 31 33 33 33

tab 1, row 3, @0x1f1c

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 3

col 0: [ 5] 74 31 33 33 33

tab 2, row 0, @0x1f12

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 0

col 0: [ 5] 74 32 31 31 31

tab 2, row 1, @0x1f08

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 1

col 0: [ 5] 74 32 32 32 32

tab 2, row 2, @0x1efe

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 2

col 0: [ 5] 74 32 33 33 33

tab 2, row 3, @0x1ef4

tl: 10 fb: -CH-FL-- lb: 0x2 cc: 1 cki: 3

col 0: [ 5] 74 32 34 34 34

解釋一下:

clusterde 一部分結構

flag

lb

cc

curc

comc

pk

nk

nk

length

data

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-917324/,如需轉載,請註明出處,否則將追究法律責任。

相關文章