Performance Improvements of Partitioning: Past and Future
summary
Patch changes equivalence handling so equivalence classes keep only parent members and introduce child members on demand, using bitmap-set indexes to filter children quickly; this reduces complexity to O(n) from O(n^2) for planning joins over n partitions. Profiling with perf and printf-debug shows planning drops from minutes to seconds for 1,024 partitions (6.7×) and achieves a 10.7× average speedup on the Join Order Benchmark (max 17.5×, 23.5× for six-table joins). Patch is under discussion on pgsql-hackers for PostgreSQL 18.
AI-written summary · about
chapters (7)
- 0:00Introduction to partitioning
- 7:53Deep dive into the planner
- 16:54Hacking the planner solution
- 24:02Experiments and results
- 29:27Tips for PostgreSQL development
- 37:39Open issues and discussion
- 39:43Conclusion and future work
related talks
30mOvercoming Performance Hurdles in Postgres Partitioned Tables
26mPartitioning your Postgres tables for 20x better performance
30mPostgreSQL Partitioning: Slicing and Dicing for Performance and Easier Maintenance
26mMy Postgres partitioning cookbook
06mSomething Got Better For Partitioning in v18 Unless Reverted
50mBeyond the How: Why Table Partitioning Truly Matters
31mPostgres Partitioning Best Practices
23mPostgres Partitioning Best Practices
