1. > 电脑手机 >

psql 命令 psql-h

PostgreSQL与MySQL相比,优势何在?



PostgreSQL类似于Oracle的多进程框架,可以支持高并发的应用场景 。如果把Oracle DBA转到PostgreSQL数据库上是比较容易的,毕竟PostgreSQL数据库与Oracle数据库很相似 。PostgreSQL几乎支持所有的SQL标准,支持类型相当丰富 。PostgreSQL数据库的源代码要比MySQL数据库的源代码更容易读懂,如果团队的C语言能力比较强的话,就可以在PostgreSQL数据库上做开发,比方说实现类似greenplum的系统,这样也能与现在的分布式趋势接轨 。
为了说明PostgreSQL的功能,下面从“从Oracle迁移到Mysql之前必须知道的50件事”简要对比一下PostgreSQL数据库与MySQL数据库之间的差异 。从Oracle迁移到Mysql会面对的50件难事1、对子查询的优化表现不佳 。(PostgreSQL可解决)2、 对复杂查询的处理较弱 。(PostgreSQL可解决)3、 查询优化器不够成熟 。
(PostgreSQL可解决)PostgreSQL完全支持SQL-92标准,对SQL的支持也很全面,可以支持复杂的SQL查询 。4、 性能优化工具与度量信息不足 。(PostgreSQL可解决)PostgreSQL提供了执行计划和详细的cost值,可以方便看到SQL的执行效率 。5、 审计功能相对较弱 。6、 安全功能不成熟,没有用户组与角色的概念,没有回收权限的功能(仅可以授予权限) 。
当一个用户从不同的主机/网络以同样的用户名/密码登录之后,可能被当作完全不同的用户来处理,没有类似于Oracle的内置的加密功能 。7、 身份验证功能是完全内置的,不支持LDAP、Active Directory或其它类似的外部身份验证功能 。8、 Mysql Cluster可能与你想象的有较大差异 。9、 存储过程与触发器的功能有限 。
(PostgreSQL可解决)PostgreSQL提供了完善的存储过程和触发器支持 。10、 垂直扩展性较弱 。11、 不支持MPP(大规模并行处理) 。(PostgreSQL可解决)PostgreSQL是类似Oracle数据库的多进程架构,而不像MySQL是多线程的架构,所以能支持MPP 。12、 支持SMP(对称多处理器),但是如果每个处理器超过4或8个核(core)时,Mysql的扩展性表现较差 。
13、 对于时间、日期、间隔等时间类型没有秒以下级别的存储类型 。14、 可用来编写存储过程、触发器、计划事件以及存储函数的语言功能较弱 。15、 没有基于回滚(roll-back)的恢复功能,只有前滚(roll-forward)的恢复功能 。16、 不支持快照功能 。17、 不支持数据库链(database link) 。
有一种叫做Federated的存储引擎可以作为一个中转将查询语句传递到远程服务器的一个表上,不过,它功能很粗糙并且漏洞很多 。18、 数据完整性检查非常薄弱,即使是基本的完整性约束,也往往不能执行 。(PostgreSQL可解决)PostgreSQL提供完善的数据完整性检查机制,支持外键 。19、 优化查询语句执行计划的优化器提示非常少 。
20、 只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join) 。(PostgreSQL可解决)PostgreSQL则支持这些表连接类型 。21、 大部分查询只能使用表上的单一索引;在某些情况下,会存在使用多个索引的查询,但是查询优化器通常会低估其成本,它们常常比表扫描还要慢 。
(PostgreSQL可解决)PostgreSQL数据不存在这个问题,假设表T的两个字段col1的col2上有两个索引,idx_1和idx_2,那么select * from t where col1=:a and col2=:b;查询时,PostgreSQL数据库有可能把这个查询转化为select * from t where col1=:a intersect select * from t where col2=:b,这样两个索引都可以使用上 。
22、不支持位图索引(bitmap index) 。每种存储引擎都支持不同类型的索引 。大部分存储引擎都支持B-Tree索引 。23、 管理工具较少,功能也不够成熟 。24、没有成熟能够令人满意的IDE工具与调试程序 。可能不得不在文本编辑器中编写存储过程,并且通过往表(调试日志表)中插入记录的方式来做调试 。25、 每个表都可以使用一种不同的存储引擎 。

  • 上一页
  • 1
  • 2
  • 3
  • 下一页

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息