作者tomex (Tomex Ou)
看板C_Sharp
標題[心得] .NET中SqlServer與MySql語法上的差異
時間Fri Mar 28 16:17:37 2008
最近要把原先運作於SQL Server中的sql text轉成MySQL資料庫
我的目標是儘量在原本語法上不變更。
學習步驟有下列幾項:
1. 安裝MySQL及選擇良好的Client工具.
2. 選擇適合的MySQL .NET Provider.
3. 了解MySQL的資料型別,尋找最適合的相對應欄位型別。
4. 閱讀MySQL的限制筆數Limit與SqlServer之Top差別。
5. 開始porting程式碼,首先遇見Parameter Prefix Name的問題
因為各db沒有統一標準,無解! 為了未來一致性,我研究sql-92標準
放棄了.NET的語法,而自行撰寫判斷模組。
6. ASP.NET的分頁處理,就語法上mysql比較優美而適切,
與sqlserver相比差異很大,最大語法的porting成本也卡在這兒。
MySQL在查詢的便利性上,有點輸給sqlserver
因為它的欄位定義default值不能直接給定sql method()
而且不同的資料型別也有其效能上的差異
這部分也要有專業的db經驗才行。
結論,工程浩大呀~~
這時候我又不禁回想,為什麼要轉MySQL的動機,
不在於成本(因為兩者都提供免費版本),而是在於運行的平台
MySQL多了許多機會。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.5.194
推 sheauren:如果你在sql語法部分寫兩套會比較比較省事 03/29 08:11
→ tomex:寫成兩套sql在維護更新上很累人的,雖然是比較省事. 04/01 10:52