pgsql比mysql好在哪

Pgsql和Mysql的对比 工作中用过这两个数据库,但都不是太深入,仅限于用而已,但给我留下的印象就是Pgsql更好些,因为这两个库我都遇到过数据丢失的问题,前者我通过网上方法加自己的判断有惊无险地恢复了,而后者搜索各种资料加问身边的专家都没办法。刚网上搜了一下两者的区别,总体的感觉也是...
pgsql比mysql好在哪
Pgsql和Mysql的对比
工作中用过这两个数据库,但都不是太深入,仅限于用而已,但给我留下的印象就是Pgsql更好些,因为这两个库我都遇到过数据丢失的问题,前者我通过网上方法加自己的判断有惊无险地恢复了,而后者搜索各种资料加问身边的专家都没办法。
刚网上搜了一下两者的区别,总体的感觉也是前者是最好的开源关系数据库,而后者是互联网行业应用最广泛的数据库, 可能应用等多发现的坑也多,网上相关资料也多。如果让我个人选没特殊要求情况下会选前者。
关于两个的区别可以看知乎上相关问题,回答很精彩,
其中一个如下。
一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。
二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。
三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。
四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。
五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。
六、PG有极其强悍的 SQL 编程能力(9.x 图灵完备,支持递归!),有非常丰富的统计函数和统计语法支持,比如分析函数(ORACLE的叫法,PG里叫window函数),还可以用多种语言来写存储过程,对于R的支持也很好。这一点上MYSQL就差很远,很多分析功能都不支持,腾讯内部数据存储主要是MYSQL,但是数据分析主要是HADOOP+PGSQL(听李元佳说过,但是没有验证过)。
七、PG 得多种集群架构可以选择,plproxy 可以支持语句级的镜像或分片,slony 可以进行字段级的同步设置,standby 可以构建WAL文件级或流式的读写分离集群,同步频率和集群策略调整方便,操作非常简单。
八、一般关系型数据库的字符串有限定长度8k左右,无限长 TEXT 类型的功能受限,只能作为外部大数据访问。而 PG 的 TEXT 类型可以直接访问,SQL语法内置正则表达式,可以索引,还可以全文检索,或使用xml xpath。用PG的话,文档数据库都可以省了。
九,对于WEB应用来说,复制的特性很重要,mysql到现在也是异步复制,pgsql可以做到同步,异步,半同步复制。还有mysql的同步是基于binlog复制,类似oracle golden gate,是基于stream的复制,做到同步很困难,这种方式更加适合异地复制,pgsql的复制基于wal,可以做到同步复制。同时,pgsql还提供stream复制。2020-11-25
mengvlog 阅读 100 次 更新于 2025-09-08 05:28:22 我来答关注问题0
  •  翡希信息咨询 PG vs MySQL对比

    PostgreSQL相对于MySQL的优势:在SQL标准实现上更加完善,功能实现严谨;存储过程功能支持更好,具备本地缓存执行计划的能力;对表连接支持较完整,优化器功能较完整,支持的索引类型多,复杂查询能力强;主表采用堆表存放,能够支持比MySQL更大的数据量;主备复制属于物理复制,数据一致性更可靠,复制性能更...

  •  深空游戏 pgsql和mysql的区别

    PgSQL和MySQL的主要区别如下:一、功能实现 PgSQL:在功能实现上较为严谨,对表的连接支持更加完整,适用于处理复杂查询。其优化器功能完整,支持多种索引类型,因此在高性能需求下更具优势。MySQL:功能实现相对简单,适用于简单的查询。其优化器也相对简单,可能在处理复杂查询时不如PgSQL高效。二、执行...

  • 性能对比方面,PostgreSQL在实际开发过程中性能通常优于MySQL。MySQL的性能调优选项有限,特别是对于大规模数据,其性能可能不是最佳选择。MySQL仅支持innodb表空间,并且无法容纳表分区,而PostgreSQL支持多种表空间和分区选项,可以更好地提升性能。在存储方面,两者都提供了多种选项来存储数据,包括表空间和可...

  •  文暄生活科普 为什么要选择pg

    对比 MySQL:MySQL 被 Oracle 收购后,社区版的更新较慢,商业化功能依赖付费的 Enterprise 版。性能对比数据支持 JSON 数据处理性能:PostgreSQL 的 JSONB 在解析和查询复杂 JSON 数据时性能优于 MySQL 的 JSON。并发性能:PostgreSQL 的 MVCC 模式下,写操作不会阻塞读操作,而 MySQL InnoDB 的读写隔...

  • pgsql与mysql的区别有:在pgsql上的功能实现比mysql严谨,对表的连接支持更加完整;pgsql的优化器功能完整,支持索引类型多,而mysql的优化器比较简单,适用于简单的查询操作PostgreSQL相对于MySQL的优势1、在SQL的标准实现上要比MySQL完善,而且功能实现比较严谨;2、存储过程的功能支持要比MySQL好,具备本地...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部