「探索差异」深入了解MySQL与Oracle数据库的不同点

发表时间: 2021-07-03 17:03

当你面试的时候突然被问到: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的区别你了解了吗?

另外,对现在我们的大多数小伙伴来说编程不知道如何入门,如何打好基础!栽一棵树最好的时间是十年前,其次是现在。对于准备学习编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

编程学习书籍分享:

编程学习视频分享:

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

C语言C++编程学习交流圈子,点击下方【了解更多】获取更多学习资料帮助你学习成长哦~