postgresql和mysql哪个好

待兔 等级 1011 0 0

postgresql和mysql都是免费且功能强大的开源数据库,很多用户面对这两个库都会有一个问题,那就是哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢?

postgresql和mysql哪个好

一.PostgreSQL相对于MySQL的优势

1、在SQL的标准实现上要比MySQL完善,而且功能实现比较严谨;

2、存储过程的功能支持要比MySQL好,具备本地缓存执行计划的能力;

3、对表连接支持较完整,优化器的功能较完整,支持的索引类型很多,复杂查询能力较强;

4、postgresql主表采用堆表存放,MySQL采用索引组织表,能够支持比MySQL更大的数据量。

5、postgresql的主备复制属于物理复制,相对于MySQL基于binlog的逻辑复制,数据的一致性更加可靠,复制性能更高,对主机性能的影响也更小。

6、MySQL的存储引擎插件化机制,存在锁机制复杂影响并发的问题,而postgresql不存在。

二、MySQL相对于PostgreSQL的优势:

1、innodb的基于回滚段实现的MVCC机制,相对PG新老数据一起存放的基于XID的MVCC机制,是占优的。新老数据一起存放,需要定时触发VACUUM,会带来多余的IO和数据库对象加锁开销,引起数据库整体的并发能力下降。而且VACUUM清理不及时,还可能会引发数据膨胀;

2、MySQL采用索引组织表,这种存储方式非常适合基于主键匹配的查询、删改操作,但是对表结构设计存在约束;

3、MySQL的优化器较简单,系统表、运算符、数据类型的实现都很精简,非常适合简单的查询操作;

4、MySQL分区表的实现要优于PG的基于继承表的分区实现,主要体现在分区个数达到上千上万后的处理性能差异较大。

5、MySQL的存储引擎插件化机制,使得它的应用场景更加广泛,比如除了innodb适合事务处理场景外,myisam适合静态数据的查询场景。

三、结论

总的来说,开源数据库都还不是很完善,和这两者相比,商业数据库oracle无论在架构还是功能方面都要完善很多。

postgresql和mysql相比,postgresql更加适合严格的企业应用场景(比如金融、电信、ERP、CRM),而MySQL则是更加适合业务逻辑相对简单、对数据可靠性要求比较低的互联网场景(比如google、facebook、alibaba)。

收藏
评论区

相关推荐

postgresql和mysql哪个好
postgresql和mysql都是免费且功能强大的开源数据库,很多用户面对这两个库都会有一个问题,那就是哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢? postgresql和mysql哪个好 一.PostgreSQL相对于MySQL的优势 1、在SQL的标准实现上要比MySQL完善,而且功能实现比较严谨;
[DB]PostgreSQL 与 MySQL 相比,优势何在?
PostgreSQL 与 MySQL 相比,优势何在? 数据库 知乎 Pg 没有 MySQL 的各种坑 MySQL 的各种 text 字段有不同的限制, 要手动区分 small text, middle text, large text... Pg 没有这个限制, text 能支持各种大小. 按照 SQL 标准, 做 null 判断不能用
MySQL8与PG10:新版本下的较量谁更胜一筹?
既然MySQL 8和PostgreSQL 10已经发布了,现在是时候回顾一下这两大开源关系型数据库是如何彼此竞争的。在这些版本之前,人们普遍认为,PostgreSQL在功能集表现更出色,也因其“学院派”风格而备受称赞,MySQL则更善长大规模并发读/写。但是随着它们最新版本的发布,两者之间的差距明显变小了。特性比较首先来看看我们都喜欢谈论的“时髦”功能。过去
MySQL 24小时入门笔记(1),概念
MySQL 24小时入门笔记 ============== 1\. 数据库概念 --------- ### 1.1 数据和储存 数据库本质上做的工作是储存和查询数据。理论上而言,`MySQL`应该叫做`DBMS`,也就是**数据库管理系统**,而不是**数据库**。 `DBMS`提供了统一的建立、使用、管理数据库的接口,常见的`DBMS`有`post
MySQL与PostgreSQL相比哪个更好?
网上已经有很多拿PostgreSQL与MySQL比较的文章了,这篇文章只是对一些重要的信息进行下梳理。在开始分析前,先来看下这两张图: ![](https://oscimg.oschina.net/oscnet/3de5a066c29e80cc3d9a783fc2932b7a66d.png) MySQL MySQL声称自己是最流行的开源数据库。LAMP
MySQL数据库优化技巧
MySQL优化三大方向 ① 优化MySQL所在服务器内核(此优化一般由运维人员完成)。 ② 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。 ③ 对SQL语句以及表优化。 MySQL参数优化 1:MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看 mysql>
Mysql、Oracle、PostgreSql数据库索引失效场景详细讲解
### Mysql、Oracle、PostgreSql数据库索引失效场景详细讲解 * 前言 前言 == Mysql、Oracle、PostgreSql数据库索引失效场景详细讲解。废话不多说直接贴: 1、任何计算、函数、类型转换 2、!=、<> 3、IS NULL或者IS NOT NULL。类似导致索引失效的还有NOT IN
Caché到MySQL数据同步方法!
随着医疗行业信息化的发展,积累了大量的业务数据,如何挖掘这些数据,实现数据的可视化被提上日程, 医院中通常有许多的信息化系统,使用的又都是不同厂商的数据库产品,如何统一汇聚数据,实现数据互通也是一个大问题。 目前有一款数据交换软件TreeSoft数据库管理系统,可以实现异构的数据自动交换同步, 目前支持MySQL,Oracle,SQL Serve
DBeaver笔记
<div class="markdown\_views"> <p>公司使用的是PostgreSQL数据库,可以使用pgAdmin或者DBeaver进行连接该数据库。个人更喜欢用DBeaver,因为其界面更加美观,操作也相对简单。对于习惯了eclipse的开发者来说,DBeaver绝对是个不错的选择。</p> <blockquote> <p>DBeaver
Jitamin
安装环境要求 ------ * [PHP](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fwww.php.net%2F) 5.6或更高(推荐使用PHP7) * 数据库, 推荐使用[MySQL](https://www.oschina.net/action/GoToLink?url=
MongoDB凭什么跻身数据库排行前五?
DB-Engines 数据库流行度排行榜发布了5 月份的数据,前六名的排名“千年不变”,分别是:Oracle、MySQL、Microsoft SQL Server、PostgreSQL、MongoDB 和IBM Db2。而其中,MongoDB以比去年同期超出65.96分的成绩继续雄踞榜单前五,这个增幅在全榜仅次于PostgreSQL的77.99,而其相对于4
Mycat分布式架构之Mycat入门到精通
支持SQL92标准 支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。 基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster集群。 支持Galera for MySQL集群,Percon
PostgreSQL 学习一 安装和入门
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。     本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用。     ![640x220](http://static.oschina.net/uploads/
PostgreSQL 的进程通信的血管在哪里?
![](https://oscimg.oschina.net/oscnet/40d8680f-df62-48ea-ba3f-c83cc9348e60.png) 最近有人私信我,说postgresql 没有希望,好吧, 其实我倒是觉得,与其说他没有希望,不如好好的了解他后,在说出点什么,而不是人云亦云,然后就么有希望,在我的印象里面  MYSQL 10年前也
Python是怎么连接MySQL数据库和怎么操作MySQL
python操作mysql数据库 Python 规范数据库接口为 Python DB-API,Python DB-API为开发人员供应了数据库运用编程接口。 Python 数据库接口支撑非常多的数据库,你可以选择合适你项目的数据库: GadFly mSQL MySQL PostgreSQL Microso