卢卡斯·菲特尔:期待Postgres 19:使用RDTSC降低EXPLAIN ANALYZE的时间开销

卢卡斯·菲特尔:期待Postgres 19:使用RDTSC降低EXPLAIN ANALYZE的时间开销

💡 原文英文,约2400词,阅读约需9分钟。
📝

内容提要

即将发布的Postgres 19版本将通过采用RDTSC指令替代RDTSCP,降低EXPLAIN ANALYZE的时间开销,从而提高性能。这一改进使得在更多工作负载中启用auto_explain.log_timing成为可能。此外,新设置“timing_clock_source”允许用户选择时钟源,以优化查询性能。

🎯

关键要点

  • Postgres 19版本将通过使用RDTSC指令替代RDTSCP,降低EXPLAIN ANALYZE的时间开销。
  • 这一改进使得在更多工作负载中启用auto_explain.log_timing成为可能。
  • 新设置'timing_clock_source'允许用户选择时钟源,以优化查询性能。
  • RDTSC指令不会阻塞其他并发指令,从而显著降低性能开销。
  • 在使用新时钟源时,EXPLAIN ANALYZE的性能提升明显,查询时间减少。
  • 对于大多数系统,使用auto_explain时启用log_timing变得更加安全。

延伸问答

Postgres 19的主要改进是什么?

Postgres 19通过使用RDTSC指令替代RDTSCP,降低EXPLAIN ANALYZE的时间开销,从而提高性能。

RDTSC指令与RDTSCP指令有什么区别?

RDTSC指令不会阻塞其他并发指令,而RDTSCP指令会等待所有先前指令完成,因此RDTSC的性能开销更低。

新设置'timing_clock_source'的作用是什么?

新设置'timing_clock_source'允许用户选择时钟源,以优化查询性能。

使用auto_explain时,启用log_timing的安全性如何?

在Postgres 19中,使用auto_explain时启用log_timing变得更加安全,尤其是在大多数系统上。

EXPLAIN ANALYZE的时间开销如何影响查询性能?

EXPLAIN ANALYZE的时间开销可能导致查询看起来比实际慢,从而影响性能测试的准确性。

Postgres 19的发布计划是什么?

Postgres 19预计将在九月或十月发布,当前处于开发阶段,beta版本将在五月发布。

➡️

继续阅读