日期:2014-05-16  浏览次数:20840 次

MySQL5之使用经验
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的差不多了。
1 楼 jamesdot 2006-09-18  
关注mysql,一直很喜欢...
2 楼 冉翔 2006-09-18  
是吖是吖
我们项目中,用mysql5,结果到编写存储过程的时候发现根本就没递归。
K,简直就是个toy。

据说,mysql5提供的存储过程对性能基本上没有什么优化,只是可以减少sql语句从客户端发往服务器之间这段时间。
3 楼 eason007 2006-10-20  
是的。mysql的确有很多不如意的地方,我以前也写过有关的文章,可以参考这里:
http://www.w2blog.net/view/28.html

至于mysql的gui tools,我现在是使用Navicat,使用方法参考这篇文章:http://www.w2blog.net/view/141.html

下载地址是
http://www.w2blog.net/view/142.html
4 楼 Arath 2006-10-20  
一个开源的项目,做到这一步不容易了
传说ms sql2005很牛,不知道有没有人测试使用过