PostgreSQL 9.4 中 UUID 列索引的填充因子建议

Posted

技术标签:

【中文标题】PostgreSQL 9.4 中 UUID 列索引的填充因子建议【英文标题】:Fillfactor recommendation for index on UUID column in PostgreSQL 9.4 【发布时间】:2016-05-10 20:22:52 【问题描述】:

背景

我在 PostgreSQL 9.4 数据库中有一个带有 UUID 主键的新表。此表收集 1 周的信息,然后在 AWS S3 上存档并删除它。它将平均每天插入 40K-50K 记录。表或 UUID 主键几乎没有任何更新。我无法更改此表的主键类型。生成并用作主键的 UUID 是版本 4(随机)。

问题

如果磁盘空间不是我主要关心的问题并且我想针对插入进行优化,那么我应该为这个索引使用什么填充因子。我知道默认值是 90%,但我的直觉是 50 左右的数字将有助于提高桌子上的吞吐量。

【问题讨论】:

【参考方案1】:

我创建了 7 个不同的表,其中包含 1 个唯一索引的 uuid 列。我使用的填充因子为 30、40、50、60、70、80、90(默认值)。然后我在表中插入了 1,000,000 条记录(使用uuid_generate_v4())。时代差异不大。

【讨论】:

以上是关于PostgreSQL 9.4 中 UUID 列索引的填充因子建议的主要内容,如果未能解决你的问题,请参考以下文章

2 列索引与 3 列索引的性能方面

熊猫:从多级列索引中删除一个级别?

pandas使用read_csv函数读取csv数据header参数指定作为列索引的行索引列表形成复合(多层)列索引使用方括号[]基于最外层列索引名称索引列数据

(WPF Datagrid)如何确定项目的列索引

确定表中输入的行和列索引

python 从列表中有效地提取列索引。