是的,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% 的填充因子是否意味着每次插入都会生成一个新页面并将 50% 的现有行移动到新生成的页面?
50% 的填充因子是否意味着在新数据页的物理行之间分配了释放空间?
仅当现有页面中没有可用空间时才会生成新页面?
如您所见,我很困惑;我会很感激一些帮助——也许是阅读 PostgreSQL 和 index 的好链接fillfactor
。