PostgreSQL相对MySQL有啥区别?
发布时间:2024年01月03日
一、数据类型
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亿个事务版本。
文章来源:https://blog.csdn.net/qq_36433289/article/details/135050723
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!