MySQL vs PostgreSQL

查阅了很多资料,没有一个能明确告诉你用哪个更好,抛开两者一部分技术上的不同优势,整理了几点区别如下,

  1. MySQL诞生于1994年,支持多种存储引擎,常见的有 MyISAM 和 InnoDB,前者实现了高速读但不支持ACID,后者实现了ACID。MySQL在所有权归于Oracle之后,提供了多个版本,其中有免费的也有收费的。

  2. PostgreSQL诞生于1985年,以稳定著称,可靠性、数据一致性与完整性是PostgreSQL的最高优先级特性,完全支持ACID,它只提供单个完整功能的版本。

  3. MySQL在国内更为流行,一个很大的原因在于PostgreSQL在早期不提供Windows版本。

  4. MySQL能够进行快速的读取和大量的查询操作,不过在复杂特性与数据完整性检查方面不太尽如人意。MyISAM引擎是最快的,因为它只执行很少的数据完整性检查,适合于后端读操作较多的站点,不过对于包含敏感数据的读/写数据库来说就是个灾难了,因为MyISAM表最终可能会损坏。

  5. PostgreSQL的可靠性好,在保护数据方面很擅长,而且是个社区项目,不会陷入厂商的牢笼之中。MySQL更加灵活,提供了更多选项来针对不同的任务进行裁剪。

  6. 一个常见的误解就是MySQL要比PostgreSQL更容易学习。关系数据库系统都是非常复杂的,这两个数据库的学习曲线其实是差不多的。

  7. PostgreSQL与Oracle数据库很相似,同为多进程框架,所以能支持高并发的应用场景,所以熟悉Oracle的话转到PostgreSQL数据库上是比较容易的。

  8. MySQL从5.5版本开始性能提升很大,单机性能强于PostgreSQL。

想多了解一点可以看看 http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL