使用 Java JDBC 向 MySQL 5.x 與 SQL Server 2000 各插入 240,000 筆測試資料 (四層巢狀迴圈組合決策矩陣),測試環境相同,結果驚人:
// 四層巢狀迴圈產生 240,000 筆組合
for (i ...) for (j ...) for (k ...) for (l ...) {
// 計算響應時間、價格、過期時間、可用性、安全等級
// 計算綜合評分 result
String str = "INSERT INTO garesult(class1,class2,class3,class4,result) VALUES(" + i + "," + j + "," + k + "," + l + "," + result + ")";
insertData(str);
sql.close(); conn.close(); // 每筆提交並關閉 (極不推薦生產寫法,但雙方同條件)
}
INSERT 即開關連線,極大放大了驅動程式與網路延遲差異。PreparedStatement.addBatch())、連線池、事務控制,兩者差距會大幅縮小。結論:單純以此粗略測試斷言「SQL Server 比 MySQL 快 20 倍」不嚴謹。效能高度依賴驅動程式、連線模式、參數化、批次處理、索引策略、硬體配置。選型應依業務場景、團隊技術棧、授權成本綜合評估。