首页 > 数据库 >oracle Mysql PostgreSQL 数据库的对比

oracle Mysql PostgreSQL 数据库的对比

时间:2024-07-17 12:29:55浏览次数:13  
标签:PostgreSQL 支持 索引 pg Mysql oracle

oracle Mysql PostgreSQL 数据库的对比

HOXJUN

于 2018-07-13 18:44:25 发布

阅读量7.3k
收藏 11

点赞数 1
版权
Mysql的多表连接查询只支持 Nest Loop,不支持 hash join 和 sort merge join,子查询性能较低,不支持 sequence
Mysql在执行过程中出现问题只产生很少的性能数据,难准确定位问题产生的原因
Mysql的复制是异步的,无法通过 Master/Slave做到数据零丢失
mysql在线操作功能弱,即在Mysql表中加列,基本上是新建一个表,而且建索引时会锁定整张表,即在建索引的过程中,不能对表进行操作,可以通过修改Mysql源码来实现在线 DDL的功能,或者是用过上层架构来解决这个问题,如先在 slave数据库上把DDL做完,然后把应用从master库切换到slave,再把原先的 master上把DDL做完
Mysql对于sql语法支持较弱,基本上不适合做数据仓库,一些厂商开发了基于Mysql的数据仓库存储引擎(如 Infobright),但这个方案只是解决了部分数据仓库的问题,sql功能弱的问题仍无法完全解决
Infobright的社区版本功能上还有很多限制,如不支持数据更新,不支持太多并发执行(最多支持十几个)

PostgreSQL支持复杂的sql,还支持大量的分析函数,适合做数据仓库
PostgreSQL支持所有主流的多表连接查询方式(如 Nest loop/hash join/sort merge join等),支持绝大多数的SQL语法(如with子句)

PostgreSQL对正则表达式支持很好,内置函数很丰富,字段类型支持数组类型。

PostgreSQL除了可以使用PL/PGSSQL写存储过程外,还可以使用各种主流开发语言的语法(如python的PL/Python、Perl的PL/Perl来写存储过程)

PostgreSQL性能优化工具和度量信息丰富:PostgreSQL有大量性能视图,可以方便定位问题

PostgreSQL在线操作功能好,PostgreSQL增加空值的列时,本质上只是在系统表上把列定义上,无须对物理结构做更新,这可以使得加列在瞬间完成

PostgreSQL还支持在线建立索引的功能,建索引的过程可以不锁更新操作
PostgreSQL还支持同步复制功能,通过master和slave之间的复制可以实现零数据丢失的高可用方案
PostgreSQL支持空间索引

PostgreSQL比Oracle在功能上稍弱,pg不支持索引组织表

pg和oracle都使用共享内存的进程结构,客户端和数据库服务器建立一个连接后,数据库服务器就启动一个进程为这个连接服务,这 和mysql的线程模型不同

pg的WAL日志和oracle的redo日志都是记录物理块数据变化的,这和mysql的binlog也不同

pg支持网络地址类型,XML类型,JSON类型,UUID类型以及数组类型,有强大的正则表达式函数,where条件中可以使用正则表达式匹配,可以使用python或Perl等语言写存储过程
pg比oracle更小巧
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/yumenshizhongjingjie/article/details/81036268

标签:PostgreSQL,支持,索引,pg,Mysql,oracle
From: https://www.cnblogs.com/yaoyangding/p/18307053

相关文章

  • mysql主从同步(一主一从)
    一.准备两台服务器二.在主服务器和从服务器安装mysql1.去mysql官网找到自己需要的mysql版本(我这里使用的是5.7.23)2.我这里使用的是解压tar.gz为例3.把mysql解压出来(我解压的路径是/home/mysql)4.cd/home/mysql进入mysql目录 使用mkdirmysqldb创建存放数据库的文件夹......
  • MySQL安装过程中的问题,求大佬们帮忙解答。
    记录一个MySQL安装时的日志,麻烦大佬们帮忙看看。2024-07-15T14:12:49.255307Z0[System][MY-013169][Server]/usr/sbin/mysqld(mysqld8.0.33)initializingofserverinprogressasprocess227942024-07-15T14:12:49ZUTC-mysqldgotsignal11;Mostlikely,youh......
  • MySQL数据库基础教程(DDL、DML、DQL…)
    MySQL数据库基础教程:DDL、DML、DQL…文章目录1概述2数据库设计——DDL2.1数据库操作2.2表操作2.2.1约束2.2.2数据类型3数据库操作——DML4数据库查询——DQL4.1基本查询4.2条件查询4.3分组查询4.4排序查询4.5分页查询5多表设计5.1一对多5.2一对一5.3......
  • 不同局域网下mysql连接问题——子网穿透
    前言:通常情况下,MySQL服务器和应用程序部署在同一个局域网内,这样连接就比较简单。这次遇到的情况是MySQL部署在我个人PC上,需要其他局域网内的PC连接使用。首先两个网段之间是ping不通的。不是其他人说的防火墙问题。我试了网上说的方法,下面两种都不试过了不行的:第一种,编辑mysq......
  • 基于web的人力资源管理系统 毕业设计 springboot+Vue+mysql
    介绍在当今企业管理中,人力资源的有效管理对于组织的发展至关重要。为了提高人力资源管理的效率和准确性,我们开发了这个基于Web的人力资源管理系统。该系统旨在为企业提供一个全面、便捷、高效的人力资源管理平台,满足企业对人力资源规划、招聘、培训、绩效管理等方面的需求。......
  • 基于springboot的社区智慧养老监护管理平台 毕业设计 springboot+Vue+mysql
    介绍随着人口老龄化的加剧,养老服务的需求日益增长,传统的养老模式已经难以满足现代社会的需求。为了提供更高效、便捷、个性化的养老服务,我们开发了这个基于SpringBoot的社区智慧养老监护管理平台。该平台旨在整合社区养老资源,实现对老年人的全面监护和管理,提升养老服务的质......
  • 基于springboot的教师工作量管理系统 毕业设计 springboot+Vue+mysql
    介绍在教育领域,对教师工作量的准确评估和有效管理对于保障教学质量、合理分配资源以及激励教师积极性具有至关重要的意义。然而,传统的教师工作量管理方式往往依赖于手工记录和繁琐的统计,容易出现误差、效率低下且缺乏透明度。本基于SpringBoot的教师工作量管理系统旨在为......
  • MySQL常用命令的实战应用
    MySQL常用命令全攻略:从入门到精通的实用指南在数字化时代的浪潮中,MySQL作为关系型数据库管理系统的佼佼者,以其稳定性和高效性赢得了全球用户的青睐。无论是新手还是资深开发者,掌握MySQL的常用命令都是提升数据库管理能力的基础。以下是一份详尽的MySQL命令指南,涵盖从基础的连......
  • MySQL 上亿数据查询优化:策略与实践
    引言在大数据时代,数据库中存储的数据量经常达到数千万甚至上亿条记录。面对如此庞大的数据集,如何优化SQL查询以快速检索所需信息,成为了每个数据库管理员和开发人员必须掌握的技能。本文将深入探讨针对MySQL中上亿数据量的查询优化策略,并通过具体操作指导实践。了解数据分布......
  • MYSQL DQL in 到底会不会走索引&in 范围查询引发的思考。
    前情引子in会不会走索引?很多人肯定会回答、废话、如果命中了索引、那肯定会走。其实我和大多数人一样、一开始也是这么想的、直至有一个血淋淋的案子让我有所改观、有所思考。背景介绍业务的工单表、我们分了64张、以userId作为分表键、业务实际场景中未使用到搜索引擎、主要......