はい、fillfactor
また。私は何時間も読んでいますが、それぞれのケースに何が最適かを判断することはできません. 断片化がいつ、どのように発生するのかわかりません。データベースを MS SQL Server から PostgreSQL 9.2 に移行しています。
ケース1
シーケンシャル (シリアル) PK で 10 ~ 50 回の挿入/分、20 ~ 50 回の読み取り/時間。
CREATE TABLE dev_transactions (
transaction_id serial NOT NULL,
transaction_type smallint NOT NULL,
moment timestamp without time zone NOT NULL,
gateway integer NOT NULL,
device integer NOT NULL,
controler smallint NOT NULL,
token integer,
et_mode character(1),
status smallint NOT NULL,
CONSTRAINT pk_dev_transactions PRIMARY KEY (transaction_id)
);
ケース 2
同様の構造であるシリアル PK のインデックスは、2 か月ごとに ~ 50.000 レジスタのブロック (ワンショット) に書き込み、読み取りは 10-50/分です。
50% の fillfactor は、各挿入が新しいページを生成し、既存の行の 50% を新しく生成されたページに移動することを意味しますか?
50% のフィルファクターは、新しいデータ ページの物理行間に空き領域が割り当てられることを意味しますか?
既存のページに空き領域が残っていない場合にのみ、新しいページが生成されますか?
ご覧のとおり、私は非常に混乱しています。PostgreSQL と index について読むための良いリンクかもしれませんfillfactor
。