在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/article.jhtml?id=u00320020523dol01.htm

Leave a Comment