一個參數調整,如何將 PostgreSQL 慢查詢提速 50+ 倍
原文:How a single PostgreSQL config change improved slow query performance by 50x
PostgreSQL 的 random_page_cost
預設參數值為 4,但這是相對於 HDD 硬碟下的建議值。如果是高速硬碟,如 SSD,作者表示將值改為 1 時,某個慢查詢的速度隨即提升了 50 倍。
作者進一步分析原因,發現當 random_page_cost
從預設值 4 改為 1 後,該 Query 優化器從原本使用 Hash Join 改為 Nested Loop 而獲得效能提升。
對於相應硬體建議的參數調整,在我今年「RDBMS 資料庫案例設計討論營系列活動 - 最佳化設計技巧」[*] 的分享課中有提到。除了 PostgreSQL 外,MySQL 也有針對 SSD 相應的一些設定。