August 21, 2006 at 2:09 pm · Filed under database, mysql, postgresql
今天看到了一篇文章「MySQL vs.
PostgreSQL」,講述如何在不同的場合在MySQL和PostgreSQL之間作出正確的選擇。實際上,對這兩個開源產品不熟悉的人,通過這篇文章,也知道了MySQL和PostgreSQL的不同應用範圍。
1、什麼情況下選擇MySQL
首要考慮是數據庫應用的場合,如果是基於WEB的應用程序,或對數據庫性能要求較高的應用,MySQL以它的快速和易於web部署將成為首選。然而,如果你的應用程序需要依賴存儲過程和外鍵引用實現,那麼還是選擇PostgreSQL吧。
需要說明的是,MySQL不是完全兼容ANSI
SQL標準的產品,PostgreSQL更加接近ANSI
SQL標準,MySQL更加接近ODBC標準。(對於需要移植到其他數據庫平台的產品來說,符合ANSI
SQL標準的產品可能更好些。)
總結一下,選擇MySQL比選擇PostgreSQL好的理由:
a、MySQL相對PostgreSQL運算更快
b、數據庫設計更加簡單
c、你可以更加方便創建web站點
d、MySQL的複製技術已經完全測試通過
e、你無需對MySQL數據庫做清空處理
2、什麼情況下選擇PostgreSQL
很少有web開發者選擇PostgreSQL,因為他們覺得PostgreSQL的一些附加特色功能降低了數據庫性能。但這些特色功能正是其優於MysQL的地方所在。
比如,外鍵、觸發器、視圖。他們的存在可以在應用程序中隱藏數據庫設計的複雜程度,從而避免了創建一些龐雜的SQL命令。比如,很多PostgreSQL
的用戶都喜歡PostgreSQL的函數功能,而在MySQL裡面,你可能需要用嵌套的對重、復合、複雜SQL語句來實現的功能,PostgreSQL的一個小小的函數就解決問題了。同時,PostgreSQL符合ANSI
SQL規範。
總結一下選擇PostgreSQL的理由:
a、可進行複雜數據庫的設計
b、可以在Oracle、Sybase、MSSQL之間遷移
c、複雜業務規則的設計建立
d、服務器可以進行腳本編程(Tcl、Perl、Python等)
e、支持事務
f、支持存儲過程
g、支持幾何數據類型(坐標、多邊形等)
h、使用了R樹
閱讀參考
http://builder.com.com/article.jhtml?id=u00820010815cnt01.htm
http://builder.com.com/5100-6388-1050671.html
http://builder.com.com/article.jhtml?id=u00320020523dol01.htm