↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

约束在高写入量下的隐性成本 RSS

这篇文章把每秒五万行插入下外键和唯一约束的开销摊开讲:外键在每次插入时对父表做逐行索引查找并取 FOR KEY SHARE 锁,高并发下会引起 MultiXact SLRU 争用;唯一约束则在每次插入前先扫一遍索引。这类开销在概念验证阶段几乎看不出来。作者给出四种缓解办法:把外键检查推迟到事务提交、改用只覆盖近期时间窗口的部分索引、在应用层先校验引用完整性,以及在数据质量已由应用保证时直接去掉外键。

发布于 2026-09-10T10:59:46.719481Z · TigerData · TigerData 博客
写入性能 索引 约束

这篇文章把每秒五万行插入下外键和唯一约束的开销摊开讲:外键在每次插入时对父表做逐行索引查找并取 FOR KEY SHARE 锁,高并发下会引起 MultiXact SLRU 争用;唯一约束则在每次插入前先扫一遍索引。这类开销在概念验证阶段几乎看不出来。作者给出四种缓解办法:把外键检查推迟到事务提交、改用只覆盖近期时间窗口的部分索引、在应用层先校验引用完整性,以及在数据质量已由应用保证时直接去掉外键。

这篇文章把每秒五万行插入下外键和唯一约束的开销摊开讲:外键在每次插入时对父表做逐行索引查找并取 FOR KEY SHARE 锁,高并发下会引起 MultiXact SLRU 争用;唯一约束则在每次插入前先扫一遍索引。这类开销在概念验证阶段几乎看不出来。作者给出四种缓解办法:把外键检查推迟到事务提交、改用只覆盖近期时间窗口的部分索引、在应用层先校验引用完整性,以及在数据质量已由应用保证时直接去掉外键。

原始来源 ↗

来源记录
  • center.info_item · 4dd137a79180366a · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · 4dd137a79180366a · 2026-10-03T04:08:55.967155Z