Postgresql 与 MySQL 比较
二者都是比较强大的数据库,选择使用哪一个数据库需要结合实际业务需求,综合考量。
历史
MySQL有着特殊的经历,故存在多版本(社区版、商业版、企业版);而postgresql则是单一完整的版本,完全开源。
支持平台
二者都支持运行在Linux,Windows,Mac等多个操作系统
二者底层特性
库存储引擎
postgresql单一存储引擎;MySQL有Innodb 、 MyISAM等多个存储引擎,以适应不同的业务场景;
对数据的管理
Postgresql对数据管理的可靠性要求极高,同样,数据一致性和完整性优先级也很高。MySQL的可靠性相对低一些;
表连接算法
Postgresql有着更强劲的优化器,支持hash join、nested loop、sort merge join;MySQL支持nested loop,8.0版本开始支持hash join
MySQL
-
NESTED LOOP
- 简单嵌套循环连接(
Simple Netsted-Loop Join) - 索引嵌套循环连接(
Index Nested Loops Join) - 基于块的嵌套循环连接(
Block Nested-Loop Join) - 批量键访问联接(
Batched Key Access Join) -
Hash Join(8.0版本引入)
Postgresql
-
NESTED LOOP -
HASH JOIN -
SORT MERGE JOIN
应用场景
Postgresql适合更严格的企业应用;MySQL适合数据可靠性要求低,业务相对简单的的互联网应用;
面向开发使用
-
数据类型:支持多种丰富的数据类型,能够满足各个业务场景的使用; -
索引类型:MySQL取决于存储引擎,postgresql支持四种索引(b-tree、hash、gin、gist); -
查询能力:Mysql对于大数据量的读操作很快;postgresql支持更为复杂的查询,有很强大的查询优化器; -
字段扩展:MySQL增加列需重建表和索引,postgresql在数据字典中增加表定义;
本节完~~
|