使用者現在可以下載關聯式資料庫PostgreSQL 12測試版嚐鮮,開發團隊在這個版本改進了索引效能,拉升了整體資料庫的執行速度,而在功能的更新方面,還改善了內聯WITH查詢,並且還加入了可插拔表格儲存介面,支援不同的表格儲存方法。

PostgreSQL 12改善了標準B-tree索引的空間管理,除了能夠提升索引效能之外,也減少了經常性修改的B-tree索引,所占用的儲存容量,另外,PostgreSQL 12還加入了並行重建索引的功能,開發者在執行REINDEX操作的時候,現在可以不受中斷的任意寫入索引,官方提到,這項功能有助於改善在正式生產環境中,因為重建索引造成服務中斷的情況。

在這個版本,開發團隊還為PostgreSQL 12擴充了幾種專用索引機制的功能,像是在PostgreSQL 11支援的INCLUDE子句,現在於GiST索引也能使用,讓開發者可以創建覆蓋索引(Covering Indexes),而 SP-GiST現能執行最近鄰居法(K-NN)查詢,以支援距離操作需求。創建GIN或SP-GiST和GiST這三種索引產生的預寫日誌(WAL),所花費的資源成本在PostgreSQL 12明顯下降,而這也提升了PostgreSQL叢集的磁碟利用率,無論是對連續存檔還是串流複製功能都有好處。

一般資料表運算式或是稱為WITH查詢,現在於非遞迴並沒有任何副作用下,且查詢的後續部份僅參照一次,則PostgreSQL 12在查詢中會自動內聯,這項功能移除了從PostgreSQL 8.4開始加入的WITH子句最佳化柵欄(Optimization Fence)。 在PostgreSQL 12中,還加入了可插拔表格儲存介面,讓使用者創建並使用不同的表格儲存方法,目前預設的儲存介面是堆存取法(Heap Access Method),也是唯一內建的方法。

在分割方面PostgreSQL 12效能也獲得提升,特別是在處理擁有數千個分割區域的表格,但只需要操作其中數個的使用案例,而且PostgreSQL 12也改進了INSERT和COPY指令在分割表格中的效能。


Advertisement

更多 iThome相關內容