Oracle与MySQL的区别及优缺点

目录
  • MySQL
    • MySQL的特点
    • MySQL的缺点
  • Oracle
    • Oracle的特点
    • Oracle的缺点
  • mysql和oracle的区别
  • MySQL与Oracle的应用区别

MySQL

MySQL的特点

  • 1、性能卓越,服务稳定,很少出现异常宕机;
  • 2、开放源代码无版本制约,自主性及使用成本低;
  • 3、历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助;
  • 4、软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应;
  • 5、支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,Java很好的支持

MySQL的缺点

  • 1、MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限才会发生改变;
  • 2、MySQL的另一个主要的途径之一是缺乏标准的RI(Referential Integrity-RI)机制,RI限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿;
  • 3、MySQL不支持热备份;

Oracle

Oracle的特点

  • 1、兼容性:Oracle产品采用标准SQL,并经过美国u构架标准技术所(NIST)测试,与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
  • 2、可移植性:Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在多种 大、中、小型机上,可在多种操作系统下工作。
  • 3、可联结性:Oracle能与多种通讯网络相连,支持各种协议。
  • 4、高生产率:Oracle产品提供了多种开发工具,能极大地方使用户进行进一步的开发。
  • 5、开放性:Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。

Oracle的缺点

  • 1、对硬件要求很高;
  • 2、价格比较昂贵;
  • 3、管理维护麻烦一些;
  • 4、操作比较复杂,需要技术含量高;

mysql和oracle的区别

  • 1、Oracle数据库是一个对象关系数据库管理系统,要收费;MySQL是一个开源的关系数据库管理系统,是免费的;
  • 2、数据库安全性的区别;
  • 3、对象名称的区别;
  • 4、临时表处理方式上的区别等等。

MySQL和Oracle都是流行的关系数据库管理系统(RDBMS),在世界各地广泛使用;大多数数据库以类似的方式工作,但MySQL和Oracle的这里和那里总是存在一些差异的。本篇文章就给大家比较Oracle和MySQL,介绍Oracle和MySQL之间的区别,希望对你们有所帮助。

MySQL和Oracle有什么区别?两个数据库的特性是不同的,所以与Oracle相比,MySQL的使用方式不同;与MySQL相比,Oracle的使用情况有所不同。它们的特点也是不同的。下面我们就来具体看看MySQL和Oracle的区别有哪些。

1、本质的区别

Oracle数据库是一个对象关系数据库管理系统(ORDBMS)。它通常被称为Oracle RDBMS或简称为Oracle,是一个收费的数据库。

MySQL是一个开源的关系数据库管理系统(RDBMS)。它是世界上使用最多的RDBMS,作为服务器运行,提供对多个数据库的多用户访问。它是一个开源、免费的数据库。

2、数据库安全性

MySQL使用三个参数来验证用户,即用户名,密码和位置;Oracle使用了许多安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等。

3、SQL语法的区别

Oracle的SQL语法与MySQL有很大不同。Oracle为称为PL / SQL的编程语言提供了更大的灵活性。Oracle的SQL * Plus工具提供了比MySQL更多的命令,用于生成报表输出和变量定义。

4、存储上的区别:

与Oracle相比,MySQL没有表空间,角色管理,快照,同义词和包以及自动存储管理。

5、对象名称的区别:

虽然某些模式对象名称在Oracle和MySQL中都不区分大小写,例如列,存储过程,索引等。但在某些情况下,两个数据库之间的区分大小写是不同的。

Oracle对所有对象名称都不区分大小写;而某些MySQL对象名称(如数据库和表)区分大小写(取决于底层操作系统)。

6、运行程序和外部程序支持:

Oracle数据库支持从数据库内部编写,编译和执行的几种编程语言。此外,为了传输数据,Oracle数据库使用XML。

MySQL不支持在系统内执行其他语言,也不支持XML。

7、MySQL和Oracle的字符数据类型比较:

两个数据库中支持的字符类型存在一些差异。对于字符类型,MySQL具有CHAR和VARCHAR,最大长度允许为65,535字节(CHAR最多可以为255字节,VARCHAR为65.535字节)。

而,Oracle支持四种字符类型,即CHAR,NCHAR,VARCHAR2和NVARCHAR2; 所有四种字符类型都需要至少1个字节长; CHAR和NCHAR最大可以是2000个字节,NVARCHAR2和VARCHAR2的最大限制是4000个字节。可能会在最新版本中进行扩展。

8、MySQL和Oracle的额外功能比较:

MySQL数据库不支持其服务器上的任何功能,如Audit Vault。另一方面,Oracle支持其数据库服务器上的几个扩展和程序,例如Active Data Guard,Audit Vault,Partitioning和Data Mining等。

9、临时表的区别:

Oracle和MySQL以不同方式处理临时表。

在MySQL中,临时表是仅对当前用户会话可见的数据库对象,并且一旦会话结束,这些表将自动删除。

Oracle中临时表的定义与MySQL略有不同,因为临时表一旦创建就会存在,直到它们被显式删除,并且对具有适当权限的所有会话都可见。但是,临时表中的数据仅对将数据插入表中的用户会话可见,并且数据可能在事务或用户会话期间持续存在。

10、MySQL和Oracle中的备份类型:

Oracle提供不同类型的备份工具,如冷备份,热备份,导出,导入,数据泵。Oracle提供了最流行的称为Recovery Manager(RMAN)的备份实用程序。使用RMAN,我们可以使用极少的命令或存储脚本自动化我们的备份调度和恢复数据库。

MySQL有mysqldump和mysqlhotcopy备份工具。在MySQL中没有像RMAN这样的实用程序。

11、Oracle和MySQL的数据库管理:

在数据库管理部分,Oracle DBA比MySQL DBA更有收益。与MySQL相比,Oracle DBA有很多可用的范围。

12、数据库的认证:

MySQL认证比Oracle认证更容易。

与Oracle(设置为使用数据库身份验证时)和大多数仅使用用户名和密码对用户进行身份验证的其他数据库不同,MySQL在对用户进行身份验证location时会使用其他参数。此location参数通常是主机名,IP地址或通配符。

使用此附加参数,MySQL可以进一步将用户对数据库的访问限制为域中的特定主机或主机。此外,这还允许根据进行连接的主机为用户强制实施不同的密码和权限集。因此,从abc.com登录的用户scott可能与从xyz.com登录的用户scott相同或不同。

MySQL与Oracle的应用区别

1、主键的使用:

MySQL:一般使用自动增长类型,在创建表的时候只要指定表的主键为auto increment,插入记录时就不需要再为主键添加记录了,主键会自动增长;

Oracle:没有自动增长,主键一般使用序列,插入记录时将序列号的下一值付给该字段即可,只是ORM框架只是需要native主键生成策略即可。

2、长字符串的处理

长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字符,

如果要插入更长的字符串,请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度值都应该提出警告,返回上次操作。

3、模糊查询的比较

MySQL:用字段名like%'字符串%'

Oracle:也可以用字段名like%'字符串%'但这种方法不能使用索引,速度不快,用字符串比较函数

isnert(字段名,‘字符串’)>0会得到更精确的查找结果

4、空字符串的比较:

MySQL的非空字段也有空的内容,Oracle里定义了非空字段就不容许有空的内容。按MySQL的not null来定义Oracle表结构。

导数据的时候就会产生错误。因此导数据时对空字符进行判断,如果为Null或空字符,需要把它改成一个空格的字符串。

5、单引号的处理

MySQL里可以用双引号包起字符串,Oracle里只可以用单引号包起字符串,在插入和修改字符串前必须做单引的替换; 把所有出现的一个单引号替换成两个单引号

到此这篇关于Oracle与MySQL的区别及优缺点的文章就介绍到这了,更多相关Oracle与MySQL区别 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅析Oracle和Mysql分页的区别

    一.Mysql使用limit分页 select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize PS: (1)第一个参数值m表示起始行,第二个参数表示取多少行(页面大小) (2)m= (2-1)*10+1,n=10 ,表示 limit 11,10从11行开始,取10行,即第2页数据. (3)m.n参数值不能在语句当中写计算表达式,写到语句之前必须计算好值. 二.Oracle使用rownum分页 select * f

  • sqlserver、Mysql、Oracle三种数据库的优缺点总结

    一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等:为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServ

  • mysql和oracle的区别小结(功能性能、选择、使用它们时的sql等对比)

    一.并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取.共享与锁定. mysql: mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据. 虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁. oracle: oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不

  • 浅谈Mysql、SqlServer、Oracle三大数据库的区别

    一.MySQL 优点: 体积小.速度快.总体拥有成本低,开源: 支持多种操作系统: 是开源数据库,提供的接口支持多种语言连接操作 : MySQL的核心程序采用完全的多线程编程.线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源.用多线程和C语言实现的mysql能很容易充分利用CPU: MySql有一个非常灵活而且安全的权限和口令系统.当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证: 支持ODBC for Windows, 支持所有的ODB

  • 简述MySQL与Oracle的区别

    1.  Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. Oracle支持大并发,大访问量,是OLTP最好的工具. 3. 安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能. 4.Oracle也Mysql操作上的一些区别 ①主键 Mysql一般使用自动增长类型,在创建表时只要指定表的主键为a

  • Oracle与MySQL的区别及优缺点

    目录 MySQL MySQL的特点 MySQL的缺点 Oracle Oracle的特点 Oracle的缺点 mysql和oracle的区别 MySQL与Oracle的应用区别 MySQL MySQL的特点 1.性能卓越,服务稳定,很少出现异常宕机: 2.开放源代码无版本制约,自主性及使用成本低: 3.历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助: 4.软件体积小,安装使用简单且易于维护,维护成本低:品牌口碑效应: 5.支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,Ja

  • Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍

    先来定义分页语句将要用到的几个参数: int currentPage ; //当前页 int pageRecord ; //每页显示记录数 以之前的ADDRESSBOOK数据表为例(每页显示10条记录): 一.SqlServe下载 分页语句 String sql = "select top "+pageRecord +" * from addressbook where id not in (select top "+(currentPage-)*pageRecor

  • mybatis foreach批量插入数据:Oracle与MySQL区别介绍

    下面给大家介绍mybatis foreach批量插入数据:Oracle与MySQL不同点: •主要不同点在于foreach标签内separator属性的设置问题: •separator设置为","分割时,最终拼接的代码形式为:insert into table_name (a,b,c) values (v1,v2,v3) ,(v4,v5,v6) ,... •separator设置为"union all"分割时,最终拼接的代码形式为:insert into table

  • SQLite与MySQL区别及优缺点介绍

    简单来说,SQLITE功能简约,小型化,追求最大磁盘效率:MYSQL功能全面,综合化,追求最大并发效率.如果只是单机上用的,数据量不是很大,需要方便移植或者需要频繁读/写磁盘文件的话,就用SQLite比较合适:如果是要满足多用户同时访问,或者是网站访问量比较大是使用MYSQL比较合适. 下面详细介绍两者的区别和应用: SQLite SQLite是非凡的数据库,他可以进程在使用它的应用中.作为一个自包含.基于文件的数据库,SQLite提供了出色的工具集,可以处理所有类型的数据,没有什么限制,而且比

  • Oracle与Mysql自动增长列(id)的区别

    这里所说的自动增长列,主要是指一个表中主键id的自动增长. Oracle与Mysql不同,不能在CREATE建立表时设置自动增长列功能. Oracle必须通过创建sequence序列来实现自动增加列的功能. 首先要建立序列(当然必须要先建好表,添加好主键约束,这列假设约束名为test_sequence) create sequence test_sequence                     [increment by 1]--增长的步长                     [st

  • MongoDB和mysql的区别对比分析

    目录 一.什么是MongoDB 二.什么是Mysql 三,区别 一.什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写,是一个开源数据库系统. 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成. MongoDB 文档类似于 JSON 对象.字段值可以包

  • Oracle和MySQL的高可用方案对比分析

    关于Oracle和MySQL的高可用方案,其实一直想要总结了,就会分为几个系列来简单说说.通过这样的对比,会对两种数据库架构设计上的细节差异有一个基本的认识.Oracle有一套很成熟的解决方案.用我在OOW上的ppt来看,是MAA的方案,今年是这个方案的16周年了. 而MySQL因为开源的特点,社区里推出了更多的解决方案,个人的见解,InnoDB Cluster会是MySQL以后的高可用方案标配. 而目前来看,MGR固然不错,MySQL Cluster方案也有,PXC,Galera等方案,个人还

  • 简述Redis和MySQL的区别

    我们知道,mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc).首先,用户访问mc,如果未命中,就去访问mysql,之后像内存和硬盘一样,把数据复制到mc一部分. redis和mc都是缓存,并且都是驻留在内存中运行的,这大大提升了高数据量web访问的访问速度.然而mc只是提供了简单的数据结构,比如 string存储:redis却提供了大量的数据结构,比如string.list.set.hashs

随机推荐