MySQL通常被认为是网站和应用程序最快捷的数据库后台,执行快速读取和大量琐碎查询,但是提供较少的复杂功能和数据完整性检查。PostgreSQL被认为是正式的、功能齐全的、讲求实际的事务型企业应用主力,完全符合ACID原则以及大多数据完整性检查。为了使某些任务的速度更快,MySQL分别执行不同的存储引擎。MySQL的MyISAM是迄今为止最快的引擎,因为它执行最少的数据完整性检查。MyISAM为繁忙的只读网站后台工作,但是任何读/写数据库都包含敏感数据将会成为灾难,因为MyISAM表将不可避免的损坏。MySQL对已损坏的MyISAM表有恢复工具,但对于敏感数据,InnoDB引擎是一个更好的选择,因为它符合ACID原则。
相比之下,PostgreSQL是一个完全与独立存储引擎集成的数据库服务器。通过调整postgresql.conf的参数,并对查询和处理稍作调整,便可以提高性能。
MySQL和PostgreSQL都是可配置的,并可以为不同的任务调整以优化性能。新增功能都支持扩展。
人们通常认为MySQL比PostgreSQL更容易学习。其实关系数据库管理系统都是复杂的,规则较多,因此这两个数据库具有相似的学习曲线。
符合标准
PostgreSQL目标是符合SQL标准(现行的标准是ANSI - SQL:2008)。MySQL基本上符合SQL标准,但其自身也扩展和支持非SQL功能。每种方式各有利弊。坚持标准对于数据库管理员、数据库开发人员和应用程序开发者来说将会变得更容易,这意味着他们只需要学习一种标准,只需要使用和支持同一公共集合的功能和命令,并且这些代码是可移植的。这就节省了时间和精力,并从供应商的限制中得到解脱。
支持使用非相容性定制的理由,包括自由迅速的推出有用的新特点,而不是等待通过标准过程。ANSI/ISO标准变化发展,因此符合标准也是一个不断变化的目标; 知名的RDBMSes,如微软SQL Server、甲骨文和IBM的DB2只符合部分标准。大多数MySQL定制不是完全的变革,例如,单引号和双引号表现方式的差异,以及MySQL的转义字符表现方式的差异,这些似乎不会形成干扰或者造成潜在的错误。MySQL支持多个SQL模式,如ANSI,更增加的其复杂性。对传统SQL标准更加符合,尤其是再严格的数据输入检查,以及其他各种严格的和宽松的数据检查模式。
总结
PostgreSQL和MySQL尽管有着不同的历史、引擎和工具,但它们在使用上并没有明显的区别。若选择PostgreSQL是因为它的可靠性和对数据保护的优势。而MySQL更加灵活,拥有为不同的工作负载量身定制的更多选择。通常,企业熟悉特定的软件要比了解不同数据库的差异更为重要,因此,如果企业已经在使用其中一个数据库,那就应该坚持下去。如果非得
为一个新项目(包括网站的后台)选择数据库,PostgreSQL将是不错的选择,因为它的可靠性和数据完整性。
PostgreSQL v9.2.1.1 For Win下载
界面预览MySQL Server v5.5.28 for Win下载