1 回答

TA貢獻1921條經驗 獲得超9個贊
MYSQL 免費,功能不錯,適合個人網站及一些小企業的網站應用;
DB2 超大型,與ORACLE類似,數據倉庫和數據挖掘相當的不錯,特別是集群技術可以使DB2的可擴性能達到極致。
3. MYSQL
MySQL不支持事務處理,沒有視圖,沒有存儲過程和觸發器,沒有數據庫端的用戶自定義函數,不能完全使用標準的SQL語法。
從數據庫行家聽說的第一件事就是MySQL缺乏transactions,rollbacks, 和subselects的功能。如果你計劃使用MySQL寫一個關于銀行、會計的應用程序,或者計劃維護一些隨時需要線性遞增的不同類的計數器,你將缺乏transactions功能。在現有的發布版本的MySQL下,請不要有任何的這些想法。(請注意,MySQL的測試版3.23.x系列現在已經支持transactions了)。
在非常必要的情況下,MySQL的局限性可以通過一部分開發者的努力得到克服。在MySQL中你失去的主要功能是subselect語句,而這正是其它的所有數據庫都具有的。換而言之,這個失去的功能是一個痛苦。
MySQL沒法處理復雜的關聯性數據庫功能,例如,子查詢(subqueries),雖然大多數的子查詢都可以改寫成join
另一個MySQL沒有提供支持的功能是事務處理(transaction)以及事務的提交(commit)/撤銷(rollback)。一個事務指的是被當作一個單位來共同執行的一群或一套命令。如果一個事務沒法完成,那么整個事務里面沒有一個指令是真正執行下去的。對于必須處理線上訂單的商業網站來說,MySQL沒有支持這項功能,的確讓人覺得很失望。但是可以用MaxSQL,一個分開的服務器,它能通過外掛的表格來支持事務功能?!?br/>外鍵(foreignkey)以及參考完整性限制(referentialintegrity)可以讓你制定表格中資料間的約束,然后將約束(constraint)加到你所規定的資料里面。這些MYSQL沒有的功能表示一個有賴復雜的資料關系的應用程序并不適合使用MySQL。當我們說MySQL不支持外鍵時,我們指的就是數據庫的參考完整性限制--MySQL并沒有支持外鍵的規則,當然更沒有支持連鎖刪除(cascadingdelete)的功能。簡短的說,如果你的工作需要使用復雜的資料關聯,那你還是用原來的Access吧。
你在MySQL中也不會找到存儲進程(storedprocedure)以及觸發器(trigger)。
添加回答
舉報