mysql和oracle的区别有哪些

63次阅读
没有评论

共计 1870 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容主要讲解“mysql 和 oracle 的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“mysql 和 oracle 的区别有哪些”吧!

有区别,分别为:1、MySQL 自动提交事务,Oracle 手动提交;2、隔离级别上,MySQL 是“read commited”,Oracle 是“repeatable read”;3、MySQL 是轻量型,且免费,而 Oracle 是重量型,且收费。

本教程操作环境:windows7 系统、mysql8 版本、Dell G3 电脑。

mysql 和 oracle 的区别

(1) 对事务的提交

MySQL 默认是自动提交,而 Oracle 默认不自动提交,需要用户手动提交,需要在写 commit; 指令或者点击 commit 按钮

(2) 分页查询

MySQL 是直接在 SQL 语句中写 select… from …where…limit  x, y , 有 limit 就可以实现分页

而 Oracle 则是需要用到伪列 ROWNUM 和嵌套查询

(3) 事务隔离级别

MySQL 是 read commited 的隔离级别,而 Oracle 是 repeatable read 的隔离级别,同时二者都支持 serializable 串行化事务隔离级别,可以实现最高级别的

读一致性。每个 session 提交后其他 session 才能看到提交的更改。Oracle 通过在 undo 表空间中构造多版本数据块来实现读一致性,每个 session

查询时,如果对应的数据块发生变化,Oracle 会在 undo 表空间中为这个 session 构造它查询时的旧的数据块

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

(4) 对事务的支持

MySQL 在 innodb 存储引擎的行级锁的情况下才可支持事务,而 Oracle 则完全支持事务

(5) 保存数据的持久性

MySQL 是在数据库更新或者重启,则会丢失数据,Oracle 把提交的 sql 操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复

(6) 并发性

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

虽然 InnoDB 引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者 sql 语句没有使用索引,那么仍然使用表级锁。

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

(7) 逻辑备份
   MySQL 逻辑备份时要锁定数据,才能保证备份的数据是一致的,影响业务正常的 dml 使用,Oracle 逻辑备份时不锁定数据,且备份的数据是一致

(8) 复制

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

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

(9) 性能诊断

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

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

(10) 权限与安全

MySQL 的用户与主机有关,感觉没有什么意义,另外更容易被仿冒主机及 ip 有可乘之机。

Oracle 的权限与安全概念比较传统,中规中矩。

(11) 分区表和分区索引

MySQL 的分区表还不太成熟稳定。

Oracle 的分区表和分区索引功能很成熟,可以提高用户访问 db 的体验。

(12) 管理工具

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

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

(13) 最重要的区别

MySQL 是轻量型数据库,并且免费,没有服务恢复数据。

Oracle 是重量型数据库,收费,Oracle 公司对 Oracle 数据库有任何服务。

到此,相信大家对“mysql 和 oracle 的区别有哪些”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计1870字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)