核心架構差異
- PostgreSQL:唯一完整關聯式 DBMS(支援交易、參考完整性)
- MySQL/mSQL:非完整 RDBMS,MySQL 稱「快速儲存工具」,mSQL 甚至被戲稱「玩具」
- 單純存取、低複雜度場景 → 輕量系統可能更快
- 需真實 ACID 與 RI → 唯有 PostgreSQL 可行
授權模式比較
| 系統 | 授權 | 商業重散發 |
| PostgreSQL | BSD 風格 | 允許(保留版權) |
| MySQL | GPL/雙授權 | 禁止(需購商業授權) |
| mSQL | 免費非商業 | 14 天評估後需購授權 |
企業採用前務必法務審視授權條款。
ANSI SQL 標準實作程度
- PostgreSQL:目標完全相容,但 RI 尚未支援、
SQLSTATE 未實作
- MySQL:實作開發者定義子集,無交易、無 RI
- mSQL:僅實作極小子集,無交易、無 RI
API 與語言綁定生態
| 系統 | 核心 API | 額外綁定 |
| PostgreSQL | ESQL、C、C++、JDBC、ODBC、Perl、Python、Tcl | 豐富 |
| MySQL | C API、Win32 ODBC | C++、Eiffel、Java、Perl、Python、PHP、Tcl |
| mSQL | C API、Lite 腳本 | W3-mSQL (JDBC/ODBC/Perl/PHP) |
本文未測試額外綁定品質,第三方擴展眾多不一一列舉。
文件品質
- PostgreSQL:DocBook SGML,分管理員/程式員/使用者/教學四冊,但 ESQL 等區塊嚴重缺乏
- MySQL:GNU Texinfo,手冊相對完整
- mSQL:單一大型手冊 (PostScript/HTML),商業軟體水準,涵蓋全功能
階段性結論
PostgreSQL 功能最完整但文案有缺口;MySQL 文件較好、輕量快速;mSQL 文件最佳但功能最少。授權與 ANSI 相容性是選型關鍵決策因子。最終效能基準測試見下集。
- 上一篇文章: Linux 資料庫大比拚 (二):書店資料庫設計、三系統 Schema 適配與 C 客戶端實作
- 下一篇文章: SQL 循序漸進 (24):嵌入式 SQL (Embedded SQL) 在 C 語言中的實作範例
Copyright ©
程式碼之家 All Rights Reserved