| 維度 | MySQL | PostgreSQL |
|---|---|---|
| 背景 | 商業公司(MySQL AB → Sun → Oracle)主導 | 社區志願者聯盟(PostgreSQL Global Development Group)主導 |
| 發布節奏 | 較謹慎,大版本週期長(年級) | 較激進,功能快速落地(半年/年級) |
| 並發模型 | 線程模型(單進程多線程),上下文切換輕量 | 進程模型(多進程),隔離性強、穩定性高、內存開銷大 |
| 存儲引擎 | 插件式(InnoDB、MyISAM、Memory...) | 單一核心引擎(Heap/TOAST),表訪問方法可擴展 |
user@host),PG 需視圖/RLS 實現列級控制。REFRESH MATERIALIZED VIEW),複雜聚合預計算利器。| 特性 | MySQL 8.0 | PostgreSQL 16 | 備註 |
|---|---|---|---|
| CTE (WITH) | ✅ 遞歸/非遞歸 | ✅ 更成熟 | 標準化 |
| 窗口函數 | ✅ | ✅ 更豐富 | 標準化 |
| JSON 支持 | ✅ JSONB 等效 | ✅ JSONB 原生 | PG 索引/操作符更強 |
| 全文搜索 | ✅ ngram/parser 插件 | ✅ tsvector/tsquery | PG 生態更成熟 |
| 地理空間 | ✅ GIS 函數、R-Tree | ✅ PostGIS 黃金標準 | PG 絕對優勢 |
| 邏輯複製 | ✅ 基於 binlog | ✅ 發布/訂閱 | PG 更靈活 |
| 分區表 | ✅ Range/List/Hash/Key | ✅ 更靈活 | 大體對齊 |
| 並行查詢 | ✅ 8.0.14+ | ✅ 更早更成熟 | PG 領先 |
| 列式存儲 | ❌ (HeatWave/ColumnStore 外掛) | ✅ cstore_fdw / Hydra | PG 生態更豐富 |
| 場景特徵 | 推薦選擇 | 核心理由 |
|---|---|---|
| 傳統 LAMP/PHP、Java/Spring、高併發短連接、讀多寫少、團隊熟悉 MySQL | MySQL 8.0 / MariaDB 10.11 / Percona Server 8.0 | 生態成熟、運維工具鏈豐富、線程模型適配高併發短連接 |
| 複雜業務邏輯下推、豐富存儲過程/觸發器、嚴格數據完整性、GIS/向量/時序/全文混合檢索 | PostgreSQL 16 + PostGIS / TimescaleDB / pgvector | 過程語言、索引擴展框架、約束系統、擴展生態無可匹敵 |
| 跨數據中心強一致、多活、金融級分布式事務 | TiDB / OceanBase / PolarDB-X / PostgreSQL (Citus/Patroni) | NewSQL/分布式 PostgreSQL 方案更成熟 |
| 純讀密集、日誌/審計/歸檔、極致壓縮 | ClickHouse / Apache Doris / MySQL Archive / PostgreSQL cstore_fdw | 列式/OLAP 引擎碾壓行式 |
| 微服務新架構、雲原生、Serverless | TiDB Serverless / Neon (PG) / PlanetScale (MySQL) / Aurora Serverless v2 | 托管服務降低運維門檻,按需付費 |
caching_sha2_password 認證插件,舊驅動需升級或改回 mysql_native_password。VACUUM 維護窗口必須納入運維體系,autovacuum 參數需按業務寫入模式調優。