[pgsql-jp: 27154] Re: 見積り表領域と

sugita @ sra.co.jp sugita @ sra.co.jp
2002年 8月 26日 (月) 16:12:48 JST


  杉田です。

From: "sasaki" <GSP05271 @ nifty.com>
Date: Mon, 26 Aug 2002 15:47:03 +0900 (JST)

;;; 下記のようなテーブル項目で表領域の計算値と測定は一致しますが、インデックス値の
;;; 場合一致しません。実測値が計算値より+10%迄は正常と見なしますが、10%を越えてい
;;; ます。
;;; 計算式には問題ないですよね。
;;; 
;;; テーブル項目
;;; ----
;;; code char(6)  プライマリーキーで1つのインデックス
;;; name char(64) ユニークキーで1つのインデックス
;;; time timestamp
;;; 
;;; レコード件数:200件
;;; 
;;; 計算値:
;;; プライマリーキーファイルサイズの計算結果:8192
;;; (1)レコード長=ヘッダサイズ+キーサイズ=20
;;; (2)ブロック当たりのレコード数:8192/20=409
;;; (3)レコード数/ブロック当たりのレコード数=件数(200)/(2)の値=200/409=1
;;; (4) ブロック数*ブロックサイズ(8192) = (3)の値*8192 = 1*8192 = 8192

  レコード件数が少ないので、以前のメイルで書いたメタブロックを合わせると一致し
ます。

;;; ユニークキーファイルサイズの計算結果:16384  
;;; (1)レコード長=ヘッダサイズ+キーサイズ=76
;;; (2)ブロック当たりのレコード数:8192/76=107
;;; (3)レコード数/ブロック当たりのレコード数=件数(200)/(2)の値=200/107=2
;;; (4) ブロック数*ブロックサイズ(8192) = (3)の値*8192 = 2*8192 = 16384

  以前のメイルで大雑把と補足したように、B 木の root ノード、メタブロック、B 木
の階層化も考慮する必要があります。src/backend/access/nbtree/README が関連資料
です。

  概算見積りでは、200 件よりも 10 万、100 万、1000 万とした方がよいです。

;;; 測定値:
;;; プライマリーキーファイルサイズ:  16384     
;;; ユニークキーファイルサイズ:    40960


Kenji Sugita




pgsql-jp メーリングリストの案内