在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
当你面试的时候突然被问到:MySQL和Oracle的区别?你会怎么回答?其实面试官提问的时候主要是想考察你对数据库的理解以及熟练程度,什么情况下使用 mysql,什么情况下使用 Oracle,各有什么优缺点!下面小编带大家一起分析这个问题的解答方式!

1. Oracle 是大型数据库而 Mysql 是中小型数据库,Oracle 市 场占有率达 40%,Mysql 只有 20%左右,同时 Mysql 是开源的而 Oracle 价格非常高。
2. Oracle 支持大并发,大访问量,是 OLTP 最好的工具。
3. 安装所用的空间差别也是很大的,Mysql 安装完后才 152M 而Oracle 有 3G 左右,且使用的时候 Oracle 占用特别大的内存空间和其他机器性能。
4.Oracle 也 Mysql 操作上的区别
①主键Mysql 一般使用自动增长类型,在创建表时只要指定表的主键为 autoincrement,插 入记录时,不需要再指定该记录的主键值,Mysql 将自动增长;Oracle 没有自动 增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即 可;只是 ORM 框架是只要是 native 主键生成策略即可。
②单引号的处理MYSQL 里可以用双引号包起字符串,ORACLE 里只可以用单引号包起字符串。在 插入和修改字符串前必须做单引号的替换 、把所有出现的一个单引号替换成两个 单引号。
③翻页的 SQL 语句的处理MYSQL 处理翻页的 SQL 语句比较简单,用 LIMIT 开始位置, 记录个数;ORACLE 处 理翻页的 SQL 语句就比较繁琐了。每个结果集只有一个ROWNUM 字段标明它的 位置, 并且只能用 ROWNUM<100, 不能用 ROWNUM>80。
④ 长字符串的处理长字符串的处理 ORACLE 也有它特殊的地方。INSERT 和 UPDATE 时最大可操作的 字符串长度小于等于 4000 个单字节, 如果要插入更长的字符串, 请考虑字段用 CLOB 类型,方法借用 ORACLE 里自带的DBMS_LOB 程序包。插入修改记录前一定 要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告, 返 回 上 次 操作。
⑤空字符的处理MYSQL 的非空字段也有空的内容,ORACLE 里定义了非空字段就不容许有空的内 容。按 MYSQL 的 NOT NULL 来定义 ORACLE 表结构, 导数据的时候会产生错误。因 此导数据时要对空字符进行判断,如果为 NULL 或空字符,需要把它改成一个空 格的字符串。
⑥字符串的模糊比较MYSQL 里用 字段名 like '%字符串%',ORACLE 里也可以用 字段名 like'%字符串%' 但 这种方法不能使用索引, 速度不快。
⑦Oracle 实现了 ANSII SQL 中大部分功能,如,事务的隔离级别、传播特性等而 Mysql 在这方面还是比较的弱。
MySQL和Oracle都是流行的关系数据库管理系统,在世界各地广泛使用。但是根据他们各自的特性,在使用上有了很大的差别。作为开发者经常要用到数据库,那到底是用MySQL还是用Oracle呢?则需要优先判断企业对于数据库的使用要求而定了。关于MySQL和Oracle的区别你了解了吗?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
String s = "Hello";s = s + " world!"码执行变化
String s = "Hello";s = s + " world!";这两行代码执行后原始的 String 对象中的内容变了吗? 没有。因为 String 被设计成不可变(immutable)类,所以它所有对象都是不可变对象。在这段代码中,s 原先指向一个 String 对象,内容是 "Hello",然后我们对 s 进行了+操作。
11169
2019-05-24 16:23:20
Java基础 用 Java怎么实现一种排序?
用 JAVA怎么实现一种排序,冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
9198
2019-06-05 18:02:46
Activiti五大特点,你都知道吗?
Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。本文主要是以Activiti的特点角度去带大家认识什么是Activiti,给大家一个引导和认识。
12874
2019-07-23 10:18:40
线程池经典面试题整理附答案
线程池是一种多线程处理形式,它是Java开发面试中的必考知识点,尤其是在一些大厂的求职面试中,线程池是对求职者考核的重点。为了帮助大家可以更好地通过面试,本文特地为大家整理了线程池经典面试题并附上了答案,下面一起来尝试着做一做吧!
11186
2020-06-17 14:44:17
MySQL常见问题及答案汇总
MySQL是一种开放源代码的关系型数据库管理系统。数据库按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
5570
2020-12-23 14:30:08
