阿赫桑·哈迪:Postgres 18:跳过扫描 - 打破最左索引限制

阿赫桑·哈迪:Postgres 18:跳过扫描 - 打破最左索引限制

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

Postgres 18将于2025年9月发布,带来性能提升和新功能。新增的异步I/O和跳过扫描优化提高了查询效率,RETURNING子句允许在INSERT、UPDATE等操作中访问旧新行值。这些改进体现了Postgres对智能性能和简化开发的承诺。

🎯

关键要点

  • Postgres 18将于2025年9月发布,带来性能提升和新功能。
  • 新增的异步I/O(AIO)提高了I/O吞吐量,特别是在顺序扫描和VACUUM操作中。
  • RETURNING子句允许在INSERT、UPDATE、DELETE和MERGE语句中访问旧新行值,简化开发和提高效率。
  • 跳过扫描优化使Postgres能够在未过滤前导列的情况下使用多列B树索引,提升查询性能。
  • 跳过扫描功能解决了多列B树索引在查询时的限制,避免了创建多个索引的需求。
  • 跳过扫描优化特别适用于低基数的前导列和后续列的等值条件。
  • Postgres 18的跳过扫描功能仅适用于B树索引,且性能受限于省略列的基数。
  • 跳过扫描简化了数据库设计,减少存储开销,提高查询性能。
  • Postgres社区致力于持续改进性能,跳过扫描功能是这一承诺的体现。

延伸问答

Postgres 18的主要新功能是什么?

Postgres 18引入了异步I/O和跳过扫描优化,提升了查询效率,并新增了RETURNING子句以访问旧新行值。

跳过扫描优化如何改善查询性能?

跳过扫描优化允许在未过滤前导列的情况下使用多列B树索引,从而提升查询性能,避免创建多个索引的需求。

RETURNING子句在Postgres 18中有什么用处?

RETURNING子句允许在INSERT、UPDATE、DELETE和MERGE操作中访问旧新行值,简化开发并提高效率。

跳过扫描功能的限制是什么?

跳过扫描功能仅适用于B树索引,性能受限于省略列的基数,并且需要在后续列上有等值条件。

Postgres 18的跳过扫描功能适合哪些场景?

跳过扫描功能特别适用于低基数的前导列和后续列的等值条件,以及分析和报告工作负载。

Postgres 18的发布计划是什么时候?

Postgres 18计划于2025年9月发布。

➡️

继续阅读