PostgreSQL vs MySQL – 它们之间的区别
之间的主要区别 PostgreSQL 和 MySQL
- PostgreSQL 是一个对象关系数据库管理系统 (ORDBMS),而 MySQL 是一个社区驱动的 DBMS 系统。
- PostgreSQL 支持 JSON、XML 等现代应用程序功能,同时 MySQL 仅支持 JSON。
- 比较 PostgreSQL vs MySQL 性能, PostgreSQL 执行复杂查询时表现良好,而 MySQL 在 OLAP 和 OLTP 系统中表现良好。
- PostgreSQL 完全符合 ACID 标准,同时 MySQL 仅与 InnoDB 和 NDB 一起使用时才符合 ACID 标准。
- PostgreSQL 支持物化视图,而 MySQL 不支持物化视图。

什么是 PostgreSQL?
Postgre 是一个对象关系数据库管理系统 (ORDBMS)。它是由加州大学计算机科学系开发的。Postgres 开创了许多概念。
Postgre 是一个企业级关系数据库系统。它易于设置和 安装。它提供对 SQL 和 NoSQL 的支持。它有一个很棒的社区,当您在使用过程中遇到问题时,社区很乐意为您提供服务 PostgreSQL.
什么是 MySQL?
MYSQL 是一种流行且广泛使用的 DBMS 系统。其名称取自联合创始人 Michael Widenius 的女儿 My。MYSQL 的源代码可在 GNU GPL 下获得。该项目由以下公司拥有和维护: Oracle 公司。
它是一个 RDBMS(关系数据库管理系统),主要工作于 关系数据库模型.它使数据库管理更加容易和灵活。
之间的区别 MySQL 和 PostgreSQL
以下是 PostgreSQL 和 MySQL:
产品型号 | MYSQL | PostgreSQL |
---|---|---|
开源 | 这个 MySQL 该项目已根据 GNU 通用公共许可证的条款提供其源代码。 | PostgreSQL 是根据 PostgreSQL 许可证,即免费开源许可证。它类似于 BSD 和 MIT 许可证。 |
酸顺应性 | MySQL 仅与 InnoDB 和 NDB 一起使用时才符合 ACID 标准 Cluster 存储引擎。 | PostgreSQL 完全符合 ACID 标准。 |
符合 SQL 标准 | MySQL 部分符合 SQL 标准。例如,它不支持检查约束。 | PostgreSQL 基本符合 SQL 标准。 |
社区支持 | 它拥有一个庞大的贡献者社区,他们主要致力于维护现有功能,偶尔也会推出新功能。 | 活跃的社区不断改进现有功能,同时其创新的社区努力确保其保持最先进的数据库地位。定期发布新的尖端功能和安全增强功能。 |
性能 | 它主要用于需要数据库进行直接数据交易的基于 Web 的项目。 | 它在大型系统中被广泛使用,因为读写速度很重要 |
最适合 | MySQL 当只需要读取速度时,在 OLAP 和 OLTP 系统中表现良好。 | PostgreSQL 执行复杂查询时表现良好。 |
支持 JSON | MySQL 支持 JSON 数据类型,但不支持任何其他 NoSQL 功能。 | 支持 JSON 和其他 NoSQL 功能,如原生 XML 支持。它还允许索引 JSON 数据以实现更快的访问。 |
支持物化视图 | 支持临时表但不提供物化视图。 | 支持物化视图和临时表。 |
生态系统 | MySQL 拥有动态生态系统,包括以下变体 MariaDB、Percona、Galera 等。 | Postgres 的高端选项有限。不过,随着最新版本引入新功能,情况正在发生变化。 |
默认值 | 可以在会话级别和语句级别覆盖默认值 | 默认值只能在系统级别更改 |
B 树索引 | 在适当的情况下可以使用两个或多个 B 树索引。 | 在运行时合并以评估的 B 树索引是动态转换的谓词。 |
对象统计 | 相当好的对象统计数据 | 非常好的对象统计数据 |
Stack Overflow 问题 | 532 | 89.3 |
加入功能 | 限制连接能力 | 良好的连接能力 |
GitHub 之星 | 3.34k | 5.6k |
福克斯 | 1.6k | 2.4k |
使用该产品的知名公司 | Airbnb、Uber、Twitter | Netflix、Instagram、Groupon |
历史回顾 MySQL
- MySQL 是由一家瑞典公司创建的 MySQL AB 1995
- Sun 收购 MySQL 1 年 AB 市值 2008 亿美元
- Oracle 2010 年收购了 Sun,从而获得了 MySQL
- 2012年, MySQL 被分叉成 MariaDB 由创始人 Michael Widenius 创立,隶属于 Monty Program Ab 公司
- MariaDB 取代 MySQL 2013 年大多数发行版
- Monty Program Ab 与 SkySQL 合并 - 2013 年
- SkySQL Ab 更名为 MariaDB 公司- 2014
历史回顾 PostgreSQL
- INGRES 成立于 1977 年
- Michael Stonebraker 和他的同事开发了 Postgres- 1986
- 支持真正的 ACID 和 PL/pgSQL – 1990 年
- 95 年发布,名为 Postgres1995
- Postgres95 重新发布为 PostgreSQL 6.0 - 1996
- MVCC、GUC、加入语法控制和过程语言加载器 - 1998-2001
- 版本 7.2 至 8.2:包括 Schema 支持、非阻塞 VACUUM、角色和 dblink 等功能 - 2002-2006
- PostgreSQL 8.4 年发布 2009 款
- PostgreSQL 9.0 年发布 2010 款
- NYCPUG(纽约市 PostgreSQL 用户组)加入 PgUS(美国 PostgreSQL 协会)- 2013 年
- PGconf 组织-2014
为什么使用 MySQL?
以下是使用 MYSQL 的一些重要原因:
- 支持主从复制、横向扩展等功能
- 它支持卸载报告、地理数据分布等。
- 对于以读取为主的应用程序,使用 MyISAM 存储引擎的开销非常低
- 支持常用表的内存存储引擎
- 重复使用的语句的查询缓存
- 您可以轻松地学习和排除故障 MySQL 来自博客、白皮书和书籍等不同来源
为什么使用 PostgreSQL?
使用的主要原因 PostgreSQL 是:
- 提供有用的功能,如表分区、时间点恢复、事务 DDL 等。
- 能够在完整的 PKI 基础设施中利用第三方密钥库
- 开发人员可以修改开源代码,因为它是在 BSD 许可下进行的,无需回馈增强功能
- 独立软件供应商可以重新分发它,而不必担心受到开源许可证的“感染”
- 可以为用户和角色分配对象级权限
- 支持AES、3DES等数据加密算法。

特点 MySQL
- MySQL 是一个社区驱动的 DBMS 系统
- 兼容各种平台,使用所有主流语言和中间件
- 它提供对多版本并发控制的支持
- 符合 ANSI SQL 标准
- 允许基于日志和基于触发器的复制 SSL
- 面向对象且兼容 ANSI-SQL2008
- 多层设计,独立模块
- 完全多线程,使用内核线程
- 嵌入式数据库或客户端服务器模型中可用的服务器
- 提供用于查询分析和空间分析的内置工具
- 它可以处理任意数量的数据,最多可达 50 万行或更多
- MySQL 可以在多种 UNIX 以及其他非 UNIX 系统上运行,例如 Windows 和OS/2

特点 PostgreSQL
- 一个正在加速发展的活跃社区
- 最常见的替代方案 Oracle、DB2 和 SQL Server
- 可在您可能拥有的所有主要操作系统平台上运行
- MVCC 支持大量并发用户
- 广泛索引以实现高性能报告
- 支持现代应用程序(XML 和 JSON)
- 可传输技能/代码的 ANSI SQL 支持
- 外键支持高效存储数据
- 表连接和视图可实现灵活的数据检索
- 复杂程序和事务的触发器/存储过程
- 数据备份和读取可扩展性的复制
使用的缺点 MySQL
- 与系统目录相关的事务 酸 兼容
- 有时服务器崩溃可能会损坏系统目录
- 没有可插入的身份验证模块阻止集中管理帐户
- 不支持角色,因此很难维护许多用户的权限
- 存储过程不可缓存
- 用于过程或触发器的表始终是预先锁定的
使用的缺点 PostgreSQL
- 当前的外部解决方案需要较高的学习曲线
- 主要版本没有升级功能
- 数据需要导出或复制到新版本
- Double 升级过程中需要存储
- 索引不能用于直接返回查询结果
- 查询执行计划不会被缓存
- 批量加载操作可能会占用大量 CPU
- 稀疏独立软件供应商支持
哪个更好 MySQL or PostgreSQL?
比较两者之后,我们可以说 MySQL 在提升自身竞争力方面做得很好,但另一方面 PostgreSQL,您不需要任何许可。它还提供表继承、规则系统、自定义数据类型和数据库事件。因此,它肯定比 MySQL.
结语
- MYSQL 是一种流行且广泛使用的 DBMS 系统。它是一种 RDBMS(关系数据库管理系统),主要基于关系数据库模型。它使数据库管理更加轻松灵活。
- Postgre 是一个对象关系数据库管理系统 (ORDBMS)。它是由加州大学计算机科学系开发的。Postgres 开创了许多概念。
- MySQL 是由一家瑞典公司创建的 MySQL 1995 起。
- PostgreSQL 95 年发布,名为 Postgres1995
- MySQL 是一个社区驱动的 DBMS 系统。
- PostgreSQL 拥有一个活跃的社区,正在加速其发展。