測試環境
| 組件 | Windows NT 4.0 SP5 | BluePoint Linux 1.0 |
| Web 服務器 | Apache 1.3.12 | Apache 1.3.12 |
| PHP 版本 | PHP 3.0.15 / PHP 4 RC1 | PHP 4 RC1 |
| MySQL 版本 | 3.22.29 | 3.22.32 |
| Oracle 版本 | 8.0.5 | 未安裝 |
硬件:Celeron 433MHz、128MB 內存、20GB 硬盤。測試表結構一致,僅含三字段,測試 1000 次 INSERT 操作耗時(不含連接建立時間)。
測試代碼關鍵點
- 使用
microtime() 精確計時
- 連接建立、SQL 準備等非 INSERT 邏輯置於計時範圍外
- MySQL 使用
mysql_query(),Oracle 使用 OCI 擴展函數
測試結果
| 環境 | 耗時(秒) | 備註 |
| Win32 + Apache + PHP 4 + MySQL | 28 | 基準線 |
| Win32 + Apache + PHP 3 + MySQL | 34 | PHP 3 較慢 |
| Win32 + Apache + PHP 3 + Oracle 8.0.5 | 46 | Oracle 連接開銷極大(單次 1-2 秒) |
| Linux + Apache + PHP 4 + MySQL | 10 | 性能躍升 2.8 倍 |
核心結論
- 同平台下 MySQL 顯著快於 Oracle 8,特別是連接建立開銷:Oracle 單次連接 1-2 秒,MySQL 幾乎可忽略。
- Linux 平台 MySQL 性能遠超 Windows,同 PHP 4 環境下從 28 秒降至 10 秒,得益於進程模型與內存管理差異。
- 非存儲過程、中小數據量場景首選 Linux + MySQL:輕量級、高性能、易維護、安全性足夠。
- PHP 4 對 MySQL 優化明顯優於 PHP 3;期待 PHP 4 正式版 Oracle 驅動性能提升。
遺留限制說明
- 測試未覆蓋 SELECT、JOIN、事務等複雜操作
- Linux 端缺乏 Oracle 對比數據
- 硬件配置較老,現代硬件下差距特徵仍具參考意義