MySQL与PostgreSQL的对比

时间:2020-07-28 16:35:04

   

MySQL声称自己是最流行的开源数据库。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL,如WordPress、Drupal等大多数php开源程序。

PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL是完全由社区驱动的开源项目。它提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。

MySQL是C/C++混合开发,PostgreSQL则是完全的C语言开发,这是在技术方面的差异

1.稳定性

PostgreSQL稳定性非常强,InnoDB即使是在断电这种场景下,PostgreSQL也是相当稳定的,这个MySQL用户应该是深有体会的,很多估计都经历过服务器级别的数据丢失。

2.储引擎

MySQL是单存储引擎,PostgreSQL是多存储引擎,包括InnoDB、MyISAM等。

3.操作

删除临时表的时候,PostgreSQL语句没有TEMP、TEMPORARY关键字,DROP TABLE通过数据库连接的排列被删除。MySQL支持TEMP、TEMPORARY关键字,DROP TABLE语句只允许删除临时表,要手动删除。PostgreSQL支持CASCADE选择删除表的依赖对象,PostgreSQL的TRUNCATE TABLE支持功能更多。MySQL TRUNCATE TABLE不支持CASCADE食物安全,数据删除之后就没办法回滚了。

4.数据类型

PostgreSQL支持多种高级数据类型,比如array,用户也可以定义类型,MySQL只支持标准类型。PostgreSQL支持布尔型,支持IP地址数据类型,支持常量和函数调用。PostgreSQL支持JSON和其他NoSQL功能,本机支持XML,允许索引JSON数据,MySQL支持JSON,不过不支持其他的NoSQL功能。PostgreSQL的对象统计功能也很强,这一点MySQL也有差距。

5.线程

PostgreSQL是多进程、MySQL是多线程。PostgreSQL支持大多数命令类型上触发的触发器。MySQL是异步复制,PostgreSQL支持同步、异步、半同步复制。PostgreSQL要求所有数据必须完全满足需求,只要出一个错误整个数据入库过程都要失败,不过MySQL没这样的问题。


云数据库 MySQL

云数据库(RDS for MySQL)是稳定可靠、可弹性伸缩的云数据库服务。通过云数据库能够让您几分钟内完成数据库部署。云端完全托管,让您专注于应用程序开发,无需为数据库运维烦恼

价格低至¥0.24/小时起,买1年83折

                       

[云数据库特惠]新用户4.5折起,助力企业效益增长热门            

https://www.huaweicloud.com/product/mysql.html

猜你喜欢