广告
返回顶部
首页 > 资讯 > 数据库 >oracle 和 mysql的区别
  • 482
分享到

oracle 和 mysql的区别

mysqloracle数据库Poweredby金山文档 2023-09-22 09:09:37 482人浏览 泡泡鱼
摘要

一、宏观上的区别: 1、Mysql与oracle都是关系型数据库,应用于各种平台。mysql最开始是一个瑞典公司开发的,但后来被sun公司收购,后来sun又被oracle收购,所以现在可以说mysql属于甲骨文公司了,mysql开源免费的

一、宏观上的区别:

1、Mysqloracle都是关系型数据库,应用于各种平台。mysql最开始是一个瑞典公司开发的,但后来被sun公司收购,后来sun又被oracle收购,所以现在可以说mysql属于甲骨文公司了,mysql开源免费的,而oracle则是收费的,并且价格非常高。

mysql默认端口:3306,默认用户:root

oracle默认端口:1521,默认用户:system

mysql的安装卸载很简单,oracle很麻烦,安装所用的空间差别也是很大的,mysql安装后差不多一两百兆,而oracle则有3G左右,且使用的时候oracle占用特别大的内存空间和其他机器性能。

mysql登录:mysql -hlocalhost -uroot -p密码(h:host、u:user、p:passWord

oracle登录:sqlplus user_name/password@IP:port/instance_name;(其中可以把IP地址,端口号,实例名写在一个TNS文件中取一个别名,登陆的时候输入这个别名就行了)

初学阶段,图形化工具,mysql可以使用Navicat,Oracle一般用PLSQL,也可以用sqlyog等;

mysql的管理工具较少,在linux下的管理工具的安装有时需要安装额外的包(PHPmyadmin,etc),有一定复杂性。

oracle有多重成熟命令行、图形界面、WEB管理工具,还有很多第三方的管理工具,管理极其方便高效。

oracle支持大并发,大访问量,是OLTP最好的工具。

2、数据库的层次结构:

mysql:默认用户是root,用户下可以创建好多数据库,每个数据库下还有好多表,一般情况下都是使用默认用户,不会创建多个用户;

oracle:创建一个数据库,数据库下有好多用户:sys、system、scott等,不同用户下有好多表,一般情况下只创建一个数据库用。

二、操作区别:

1、数据库中表字段类型:

mysql:int、float、double等数值型,varchar、char字符型,date、datetime、time、year、timestamp等日期型。

oracle:number(数值型),varchar2、varchar、char(字符型),date(日期型)等…

其中char(2)这样定义,这个单位在oracle中2代表两个字节,mysql中代表两个字符。

其中varchar在mysql中,必须给长度例如varchar(10)不然插入的时候出错。

2、主键:

mysql一般使用自动增长类型,在创建表时只要指定表的主键auto increment,插入记录时,不需要再指定该记录的主键值,mysql将自动增长。

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

3、单引号处理:mysql里可以用双引号包起字符串,oracle只可以用单引号包起字符串。

4、分页处理:

mysql是直接在SQL语句中使用limit就可以实现分页

oracle则是需要用到伪劣ROWNUM和嵌套查询

5、对事务提交:

mysql默认是自动提交,可以修改为手动提交

oracle默认不自动提交,需要手动提交,需要在写commit指令或点击commit按钮。

6、对事务的支持:

mysql在innodb存储引擎的夯机所的情况下才支持事务,而oracle则完全支持事务。

7、事务隔离级别:

mysql是repeatable read的隔离级别,而oracle是read commited的隔离级别;

同时二者都支持serializable串行化事务隔离级别,可以实现最高级别的读一致性。每个session提交后其它session才能看到提交的更改;

oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo空间中为这个session构造它查询时的旧的数据块;

mysql没有类似oracle的构造多版本数据的机制,只支持read commited的隔离级别,一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据;session更新数据时,要加上排它,其他session无法访问数据。

8、并发性:

mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然Innodb引擎表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁;

oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖于索引,所以oracle对并发性的支持要好很多。

9、逻辑备份:

mysql逻辑备份时要锁定数据,才能保证备份的数据是一致的,影响业务正常的dml使用,oracle逻辑备份时不锁定数据,且备份的数据是一致的。

10、复制:

mysql:复制服务器配置很简单,但主库出问题时,从库可能丢失一定的数据,且需要手工切换从库到主库;

oracle:既有堆或拉式的传统数据复制,也有dataguard的双机或多机容灾机制,主库出问题时,可以自动切换备库到主库,但配置管理较复杂。

11、性能诊断:

mysql的诊断调优方法较少,主要有慢查询日志

oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。比如awr、addm、sqltrace、tkproof等。

12、保存数据的持久性:

mysql默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据;

oracle把提交的sql操作先写入了在线联机日志文件中,保持到了硬盘上,可以随时恢复。

13、热备份:

oracle有成熟的热备份工具rman,不影响用户使用数据库。即使备份的数据库不一致,也可以在恢复时通过归档日志和联机重做日志进行一致的回复。

mysql:

myisam引擎:用mysql自带的mysqlhostcopy热备时,需要给表加读锁,影响dml操作;

innodb引擎:它会备份innodb的表和索引,但是不会备份.frm文件,用ibbackup备份时,会有一个日志文件记录备份期间的数据变化,因此可以不用锁表,不影响其它用户使用数据库,但此工具是收费的。

innobackup是结合ibbackup使用的一个脚本,它会协助对.frm文件的备份。

14、日期转换:

mysql中日期转换用dateformat()函数;

oracle用to_date()与to_char()两个函数。

来源地址:https://blog.csdn.net/m0_63414356/article/details/129288763

您可能感兴趣的文档:

--结束END--

本文标题: oracle 和 mysql的区别

本文链接: https://www.lsjlt.com/news/415101.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle 和 mysql的区别
    一、宏观上的区别: 1、mysql与oracle都是关系型数据库,应用于各种平台。mysql最开始是一个瑞典公司开发的,但后来被sun公司收购,后来sun又被oracle收购,所以现在可以说mysql属于甲骨文公司了,mysql开源免费的...
    99+
    2023-09-22
    mysql oracle 数据库 Powered by 金山文档
  • MySQL和Oracle区别
    由于SQL Server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别     (1) 对事务的提交     MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击co...
    99+
    2023-09-02
    数据库
  • Oracle 和MySQL的语法区别
     数据类型:Oracle和MySQL支持不同的数据类型。例如,Oracle支持RAW和LONG RAW类型,而MySQL不支持这些类型。MySQL支持SET和ENUM类型,而Oracle不支持这些类型。此外,Oracle支持DATE和TIM...
    99+
    2023-09-04
    oracle mysql 数据库
  • MySQL和Oracle的本质区别
    这篇文章主要介绍“MySQL和Oracle的本质区别”,在日常操作中,相信很多人在MySQL和Oracle的本质区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL和...
    99+
    2022-10-18
  • Mysql Oracle 区别
    1. oracle select *, id需要在星号前加别名,mysql则不需要 mysql语法: select *, id from xin_student_t; oracle语法: selec&...
    99+
    2023-09-10
    mysql oracle 数据库
  • 【DataBase】Mysql和Oracle的语法区别?
    Mysql和Oracle是两种不同的关系型数据库。     MySQL通常在中小型应用程序、Web应用程序和小型企业中广泛使用,因为它易于学习和部署,而且成本较低。     Oracle数据库通常用于大型企业和复杂的企业级应用程序,因为它提...
    99+
    2023-10-27
    mysql oracle 数据库
  • mysql和oracle的区别有哪些
    本篇内容主要讲解“mysql和oracle的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql和oracle的区别有哪些”吧! ...
    99+
    2022-10-19
  • oracle和mysql的区别有哪些
    小编给大家分享一下oracle和mysql的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • MySQL和Oracle的区别是什么
    这篇文章主要介绍了MySQL和Oracle的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、宏观上:1、Oracle是大型的数据...
    99+
    2022-10-18
  • mysql和oracle的区别有什么
    一、宏观上: Oracle是大型的数据库而Mysql是中小型数据库;Mysql是开源的,Oracle是收费的,且价格昂贵。 Oracle支持大并发,大访问量,是OLTP的最好的工具。 安装占用的内存也是有差别,Mysql安装完成之后占用的内...
    99+
    2023-10-21
    数据库 oracle mysql
  • Mysql和Oracle的语法上的区别
    Mysql和Oracle的语法上一些常见的区别 分页查询:MySQL 使用 LIMIT 关键字实现分页查询,而 Oracle 使用 ROWNUM 关键字实现分页查询。 字符串连接:MySQL 使用 C...
    99+
    2023-09-15
    oracle mysql 数据库
  • 怎么样区别mysql和oracle
    下面讲讲关于怎么样区别mysql和oracle,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完怎么样区别mysql和oracle这篇文章你一定会有所受益。   ...
    99+
    2022-10-18
  • mysql和oracle有哪些区别
    小编给大家分享一下mysql和oracle有哪些区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql和oracle的区别...
    99+
    2022-10-18
  • mysql和oracle有什么区别
    小编给大家分享一下mysql和oracle有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL和Oracle都是流...
    99+
    2022-10-18
  • 浅析Oracle和Mysql分页的区别
    一、Mysql使用limit分页 select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize ...
    99+
    2022-10-18
  • 浅析Mysql和Oracle分页的区别
    目录mysql使用limit进行分页oracle使用rownum进行分页Mysql与Oracle级联查询Mysql省市区级联查询Mysql与Oracle插入数据存在修改不存在新增MySQL使用limit进行分页 sele...
    99+
    2022-12-07
    Mysql和Oracle分页区别 MysqlOracle分页
  • oracle和mysql有何具体区别
    下文主要给大家带来oracle和mysql有何具体区别,希望这些内容能够带给大家实际用处,这也是我编辑oracle和mysql有何具体区别这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。 ...
    99+
    2022-10-18
  • Oracle与MySQL的区别详解
    目录什么是mysql什么是oracleMySQL的优点MySQL的缺点Oracle的优点Oracle的缺点Oracle与MySQL的区别什么是MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司...
    99+
    2023-04-14
    Oracle与MySQL的区别 Oracle与MySQL优缺点 Oracle优缺点 MySQL优缺点
  • mysql与oracle的具体区别
    mysql与oracle的具体区别 本质的区别 Oracle数据库是一个对象关系数据库管理系统(ORDBMS)。它通常被称为Oracle RDBMS或简称为Oracle,是一个收费的数据库。 MySQL是一个开源的关系数据库管理系统(RDB...
    99+
    2023-09-02
    数据库 mysql oracle
  • MySQL和Oracle行锁区别及用法
    下文主要给大家带来MySQL和Oracle行锁区别及用法,希望这些内容能够带给大家实际用处,这也是我编辑MySQL和Oracle行锁区别及用法这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。Inno...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作