mysql和oracle的区别有什么

mysql和oracle的区别有什么1、mysql与oracle都是关系型数据库,应用于各种平台。mysql开源免费的,而oracle则是收费的,并且价格非常高。2、管理工具上mysql的管理工具较少,在Linux下的管理工具的安装有时需要安装额外的包(phpmyadmin,etc),有一定复杂性。oracle有多重成熟命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。oracle支持大并发,大访问量,是OLTP最好的工具。3、数据库的层次结构上mysql:默认用户是root,用户下可以创建好多数据库,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、mysql与oracle都是关系型数据库,应用于各种平台。

mysql开源免费的,而oracle则是收费的,并且价格非常高。

2、管理工具上

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

oracle有多重成熟命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。oracle支持大并发,大访问量,是OLTP最好的工具。

3、数据库的层次结构上

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

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

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

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

5、主键

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

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

6、单引号处理

mysql里可以用双引号包起字符串,oracle只可以用单引号包起字符串。

7、查询方式

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

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

8、对事务提交

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

oracle默认不自动提交,需要手动提交,需要在写commit指令或点击commit按钮。
9、对事务的支持

mysql在innodb存储引擎的夯机所的情况下才支持事务

oracle则完全支持事务。

10、事务隔离级别:

mysql是read commited的隔离级别

而oracle是repeatable read的隔离级别

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

11、并发性:

mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。

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

12、逻辑备份

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

oracle逻辑备份时不锁定数据,且备份的数据是一致的。

13、复制

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

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

14、性能诊断

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

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

15、日期转换

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

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

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194011.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • c语言字符数组初始化的三种方式_c语言赋值字符串

    c语言字符数组初始化的三种方式_c语言赋值字符串C语言中字符数组的初始化与赋值,字符串相关函数!1.字符数组初始化在C语言中,字符串是当做字符数组来处理的;所以字符串有两种声明方式,一种是字符数组,一种是字符指针。(1)直接逐个初始化字符数组:字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。charstr[10]={‘I’,”,’a’,’m’,”,‘h’,’a’,’p’,’p’…

  • 老Java程序员花一天时间写了个飞机大战,很舒服![通俗易懂]

    引言:前两天我发现CSDN上有两篇飞机大战的文章异常火爆,各种指标都很高(阅读、点赞、评论、收藏等),但都是python写的,竟然不是我大Java,说实话作为老java选手,我心里是有那么一些失落的,难道我大java打飞机不行?就算大java打飞机不行,那我用单身30年的打飞机手速,我肯定行(反正我的代码我做主,就是玩!),于是我决定一展伸手,用java写了一个飞机大战。我就问你们我打飞机行不行,我媳妇都说行,你们呢?欢迎我亲爱的大Java选手们点赞+评论+收藏!给我冲、冲、冲。。。/**游戏窗

  • 获得sql server的table的表结构 — 转到word中

    获得sql server的table的表结构 — 转到word中

    2021年11月15日
  • php redis缓存雪崩,redis雪崩是什么「建议收藏」

    php redis缓存雪崩,redis雪崩是什么「建议收藏」什么是redis的雪崩?下面本篇文章就来给大家简单介绍一下,希望对你们有所帮助。什么是雪崩?因为缓存层承载了大量的请求,有效的保护了存储层,但是如果缓存由于某些原因,整体不能够提供服务,于是所有的请求,就会到达存储层,存储层的调用量就会暴增,造成存储层也会挂掉的情况。缓存雪崩的英文解释是奔逃的野牛,指的是缓存层当掉之后,并发流量会像奔腾的野牛一样,大量访问后端存储。缓存雪崩通俗简单的理解就是:由于…

  • jdbctype=null_could not get jdbc connection

    jdbctype=null_could not get jdbc connectionresultMap中映射没注意jdbcType类型直接报错:Cause:org.apache.ibatis.builder.BuilderException:ErrorresolvingJdbcType.Cause:java.lang.IllegalArgumentException:Noenumconstantorg.apache.ibatis.type.JdbcType.int随后检查XML文件映射问题,发现应该是INTEGER,jdbcType中没有int。附上MyBat.

    2022年10月20日
  • onStart和onResume的区别

    onStart和onResume的区别当Activity被onCreate后就会进入onStart状态,使这个Activity对用户来说呈可见状态,但不能交互。onStart之后调用onResume使得这个Activity获得焦点,排在了所有其他Activity之前,从而获得与用户交互的能力。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号