[pgsql-jp: 27065] Re: 表領域の計算方
sugita @ sra.co.jp
sugita @ sra.co.jp
2002年 8月 16日 (金) 18:57:17 JST
杉田です。
From: "sasaki" <GSP05271 @ nifty.com>
Date: Thu, 15 Aug 2002 20:59:21 +0900 (JST)
;;; B 木の葉の部分関連のPDFを拝見させて頂きました。
;;; インデックスの計算をする場合、オーバヘッド12を使用する感じでよろしいでしょう
;;; か?
;;; また、12+4の4というのは索引キーの長さと判断して問題ないでしょうか?
この場合には、索引キーの長さは int4 なので 4 です。
4 は a=> の 3fc8800c の長さです。3fc8800c:0-31 = 1fe4:0-14, 1:15-16, c:17-31 、
順に、オフセット、フラグ、インデックスタプルの長さです。
src/include/storage/itemid.h の ItemIdData に書かれてあります。
==== インデックスファイルのダンプ (big endian) ===============
...
0000: 00000000 001bbc14 0000000b 00201fcc ............. ..
a=> 0010: 1ff02000 3fc8800c 3fb0800c 3f98800c .. .?...?...?...
...
b=> Item 1 -- Length: 12 Offset: 8164 (0x1fe4) Flags: USED
b=> 1fe4: 00000000 0001000c 00000001 ............
先の例は、単一の int4 インデックスの場合ですから、他のデータ型や複合インデッ
クスでは、12 の部分の長さは違います。
Kenji Sugita
pgsql-jp メーリングリストの案内