由于SQL Server不常用,所以这里只针对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数据库有任何服务。复制代码

转载于:https://juejin.im/post/5cbdbb455188250ab224802d

MySQL数据库和Oracle数据库的区别相关推荐

  1. mysql数据库,oracle数据库中对字段的拼接方法

    mysql数据库,oracle数据库中对字段的拼接方法 1.简介 在日常开发中,常常有将多个字段拼接进行sql操作的场景,比如做模糊查询,我这里分两种环境阐述:1.在数据库中的写法:2.在mybati ...

  2. 达梦数据库、oracle数据库如何判断指定表有没有建立索引?对应的表有没有索引查询方法

    sm_appmenuitem 这个演示表有 5 个索引. 我在不知道的情况下想知道这个表的索引有没有建成功,或者说我现在想知道这个表的索引有哪些,就要来查询了. 索引表查询方法如下,把对应的表放到括号 ...

  3. oracle中如何加字母,Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字...

    本文主要向大家介绍了Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle 语句中" ...

  4. 关于oracle数据库论文,Oracle数据库研究论文 有关Oracle数据库的论文

    Oracle数据库优化研究 摘要:Oracle数据库系统的优化对于整个系统的正常运行起着至关重要的作用,但是它却是一项非常复杂的工作.Oracle数据库性能调整与优化涉及到多个层面,并且可以提高Ora ...

  5. oracle数据库系统介绍,Oracle数据库(Oracle Database)体系结构及基本组成介绍

    Oracle数据库服务器(Oracle database server)一般情况下是一个Oracle instance和一个Oracle database组成.当在计算机服务器上启动Oracle数据库 ...

  6. mysql库与oracle库的区别_开源数据库Oracle与MySQL的SQL语法区别

    Oracle数据库与MySQL数据库的区别是本文我们主要要介绍的内容,接下来我们就开始介绍这部分内容,希望能够对您有所帮助. Oracle与MySQL的SQL语法区别: 1.在Oracle中用sele ...

  7. MySQL数据库与Oracle数据库在存储中文字符以字节或字符存储的区别

    一.Oracle数据库存储中文字符 Oracle数据库可以以字节或者字符来存储字符串的,一般来说默认是存储字节,你可以查看数据库NLS_LENGTH_SEMANTICS的值. 可以看到Oracle数据 ...

  8. MySQL数据库与Oracle数据库中建表使用单引号和双引号的效果

    一.Oracle数据库,使用单引号和双引号,以及不使用引号的区别 1.不使用引号,创建一个新表 -- 如果不使用引号,则表名和字段会自动转换成大写 create table Tatoo_Test(Na ...

  9. Robot Framework操作MySQL数据库和Oracle数据库

    一.Robot Framework连接MySQL数据库 1.安装databaselibrary.pymsql 通过cmd命令执行pip install robotframework-databasel ...

最新文章

  1. ASP.NET MVC 4 (十一) Bundles和显示模式
  2. python常用内置模块-Python-常用的内置模块
  3. Python学习记录之-----类
  4. 六大环节,教你如何从 0 到 1 搭建一场 A/B 测试
  5. python代理charles_Mitmproxy + Python 做拦截代理
  6. 分享我的Windows live writer 使用经验
  7. Pandas 文本数据方法 count( )
  8. 吴恩达机器学习 10.支持向量机
  9. 开启OpenStack Api跨域请求(CORS)功能
  10. 用计算机得到圣诞树,圣诞树、标签系统和计算思维
  11. 【??链表】LeetCode 92. Reverse Linked List II
  12. 使用element-ui中的container布局容器
  13. html+css如何提升,用好这20个css技巧快速提升你的CSS技能
  14. 北理乐学c语言基础答案晕,北理乐学C语言答案
  15. web前端、个人简历模板、个人简历_优秀个人简历模板
  16. 重装系统显示“安装程序正在应用系统设置“静止不动
  17. 十五、Events类
  18. 【Proteus仿真】【51单片机】智能温控风扇设计
  19. 深圳首辆数字人民币主题观光巴士亮相
  20. 拉结尔派遣任务辅助介绍 拉结尔快速升级脚本挂机工具

热门文章

  1. C语言重难点总结:指针
  2. Python tarfile模块(压缩解压tar)
  3. Twisted SSH
  4. Cowrie蜜罐的部署(ubt亲测)
  5. warning:deprecated conversion from string constant to 'char *' 解决方案
  6. 汇编程序—将一个全是字母,以0结尾的字符串,转化为大写
  7. mgy最新地址 mgyuser.com
  8. ag-grid 表格中添加图片
  9. 集群IPtables转发与防火墙
  10. pymssql.OperationalError: (20017 问题解决