PostgreSQL 15 出了:「PostgreSQL 15 Released!。
先前提到過「PostgreSQL 15 將可以對透過 UNIQUE 限制 NULL 的唯一性了」,反而沒排上這次 release 的重點,翻了一下的確是排不太上 XD
第一個超大的改善是 sorting:
In this latest release, PostgreSQL improves on its in-memory and on-disk sorting algorithms, with benchmarks showing speedups of 25% - 400% based on which data types are sorted.
在「Speeding up sort performance in Postgres 15」這邊有提到四個改動,裡面很詳細的說明了改動的內容,以及 benchmark 差異。
如果以他列出來的四個進展,應該是第二個「Reduce memory consumption by using generation memory context」這個會最容易遇到,也改善最多:
另外是第三個「Add specialized sort routines for common datatypes」也會有一些:
再來是拿 PostgreSQL 當 OLAP engine 用的時候會發生的第四個「Replace polyphase merge algorithm with k-way merge」:
最開頭第一個「Improvements sorting a single column」的 SELECT col1 FROM tab ORDER BY col1;
這種 case 好像用的很少,限制 SELECT
的部份也只能出現後面 sorting 的 column,但如果遇到的話效能提昇很多:
除了 sorting 的改善以外,另外一個是 WAL 支援 LZ4 與 zstd,這對於有寫入量很大的環境應該會有幫助:
PostgreSQL 15 adds support for LZ4 and Zstandard (zstd) compression to write-ahead log (WAL) files, which can have both space and performance benefits for certain workloads.
正式版出來後,應該會有一些整體性的 benchmark 數字可以看,再來等著看...