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的差不多了。