MySQL5支持視圖、存儲過程、觸發器等高級特性了,終于象個完整的數據庫了!
很高興啊,我們做項目的時候選擇性更強了。
不過在我一個實際的網站項目中,發現事實和看上去的不太相同啊。是否支持這些特性和支持得多好畢竟是不同的問題!比如在使用Oracle時,發現在9i上能正確執行的統計SQL到8i上居然報錯,無非是多用了幾個嵌套的子查詢。Oracle尚且如此,MySQL也的確不能有太高期望。
下面列舉一下MySQL5的問題:
版本5.0.16中對視圖進行排序時,會導致服務器崩潰。如:select * from 視圖名 order by 某字段。所幸5.0.21版本解決了這個問題。不過我這只是隨便一用就能碰上這種致命錯誤,誰知道還有多少bug隱藏著呢?
存儲過程更是不太爽。居然不支持遞歸,SQLServer和Oracle都早就支持了。郁悶,在處理樹形數據時,只能寫點固定樹的深度的視圖了。
1.1.20版本的Query browser和1.1.9版本的Administrator客戶端工具穩定性好差,每天能崩個幾回。不過功能比以前強些了。Query browser中多粘貼點SQL腳本就能搞死它;CREATE 某東西,按執行多兩次、或快了些也能搞死它。只能說比沒有強,湊合用吧。
其他基本功能用起來還不錯,沒碰到什么問題。當然MySQL有如此影響力肯定有他獨到之處,對我來說除了免費外就是速度快、用戶群大(則技術支持會比較多),否則可以考慮免費的其他數據庫,如PostgreSQL,它的客戶端工具就專業多了,初步感覺跟SQLServer的差不多了。