当前位置:   article > 正文

PostgreSQL相对MySQL有啥区别?_psql与mysql

psql与mysql

一、数据类型

PSQL多支持了一些数据类型,比如money(货币类型)、jsonp、几何类型、数组类型、网络地址类型…

二、表

  • 约束:多了检查约束
  • 索引:支持新的倒排索引、GIN索引等
  • 支持物化视图

三、事务

PostgreSQL是ACID兼容的数据库,它提供了高级的事务隔离级别,这意味着它支持所有上述ACID特性。而MySQL则相对较弱,仅在特定的存储引擎(如InnoDB)中支持ACID。InnoDB是MySQL的默认存储引擎,并且在其上提供了不同的事务隔离级别,包括读未提交、读已提交、可重复读和串行化。然而,MySQL的其他存储引擎(如MyISAM)并不支持事务或ACID特性。
事务隔离级别:PGSQL在老版本中,只有两个隔离级别,读已提交和串行化,默认是读已提交。

四、总结

PostgreSQL相对MySQL支持的点:

  • PostgreSQL完全开源。MySQL虽然开源,但不够彻底。因为受到GPL协议,必须开源,不适合进行二次开发。
  • PostgreSQL的数据类型很丰富。MySQL的数据类型不够丰富。
  • PostgreSQL是有序列的概念的。MySQL不支持序列概念。
  • PostgreSQL默认支持ACID特性。而MySQL需要特定存储引擎来支持这些特性。
  • PostgreSQL的插件特别丰富。MySQL网上没有比较好用的插件。
  • PostgreSQL支持主从复制的同步操作,可以实现数据的0丢失。MySQL的主从复制同步问题难以解决,没有一个官方策略。
  • PostgreSQL的MVCC实现和MySQL不大一样。PostgreSQL一行数据会存储多个版本,最多可以存储40亿个事务版本。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/916845
推荐阅读
相关标签
  

闽ICP备14008679号