[pgsql-jp: 26685] Re: Re[2]: INSERT件数の最大
sugita @ sra.co.jp
sugita @ sra.co.jp
2002年 7月 14日 (日) 14:48:04 JST
杉田です。
From: <tyunn @ to.email.ne.jp>
Date: Sun, 14 Jul 2002 08:49:06 +0900
;;; > NULL 値がない場合で、f1 に漢字 2 文字で、56 バイトです。
補足すると、レコードごとに管理データのオーバヘッドがあるからです。その他に、
データ格納ページ内に管理データもあります。
;;; textは可変長だが、varchar(x)はそうではないと思っていました。
=# select typname from pg_type where typstorage = 'x' or typstorage = 'm';
というようにすると分かります。p: 即値/内部、e:即値/外部、m:圧縮/内部、x:即値か
圧縮/内部か外部' で、マニュアルの該当箇所は以下の部分です。
PostgreSQL 7.2.1 Developer's Guide
Chapter 3. System Catalogs
3.21 pg_type
;;; boolは、アライメントがつくということですがbool以外でアライメントが入る型
;;; は
;;; 他にあるでしょうか?
圧縮がかからないならば、C の構造体と同じように考えればよいはずです。
;;; アライメントは、Postgresをphpだけで利用している場合は意識する必要がない
;;; と思いますがそれでよいでしょうか?(レコードサイズを取得する場合は除く)
はい。
;;; これらに関する詳細がどこか(書籍、サイト、・・)にあれば見たいのですが
;;; ご存知ないでしょうか?
書籍や記事でここらを詳細に書いてあるものはありません。
先のメールとこのメールでのポインタあたりから、マニュアルで関係しそうなものを
あたって、リレーションを 16 進ダンプないし pg_filedump して確かめます。
Kenji Sugita
pgsql-jp メーリングリストの案内