匿名用户

1级

2016-04-19 回答

一、并发性

并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。

mysql:

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

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

oracle:

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

二、一致性

oracle:

oracle支持serializable的隔离级别,可以实现最高级别的读一致性。每个session提交后其他session才能看到提交的更改。oracle通过在undo表空间中构造多版本数据块来实现读一致性,

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

mysql:

mysql没有类似oracle的构造多版本数据块的机制,只支持read commited的隔离级别。一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据。

session更新数据时,要加上排它锁,其他session无法访问数据。

三、事务

oracle很早就完全支持事务。

mysql在innodb存储引擎的行级锁的情况下才支持事务。

四、数据持久性

oracle

保证提交的数据均可恢复,因为oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,

如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。

mysql:

默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。

五、提交方式

oracle默认不自动提交,需要用户手动提交。

mysql默认是自动提交。

六、逻辑备份

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

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

七、热备份

oracle有成熟的热备工具rman,热备时,不影响用户使用数据库。即使备份的数据库不一致,也可以在恢复时通过归档日志和联机重做日志进行一致的回复。

mysql:

myisam的引擎,用mysql自带的mysqlhostcopy热备时,需要给表加读锁,影响dml操作。

innodb的引擎,它会备份innodb的表和索引,但是不会备份.frm文件。用ibbackup备份时,会有一个日志文件记录备份期间的数据变化,因此可以不用锁表,不影响其他用户使用数据库。但此工具是收费的。

innobackup是结合ibbackup使用的一个脚本,他会协助对.frm文件的备份。

八、sql语句的扩展和灵活性

mysql对sql语句有很多非常实用而方便的扩展,比如limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from。

oracle在这方面感觉更加稳重传统一些。

九、复制

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

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

十、性能诊断

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

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

十一、权限与安全

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

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

十二、分区表和分区索引

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

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

十三、管理工具

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

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

mysql实现vpd_MySQL支持类似Oracle的VPD特性吗相关推荐

  1. lsdyna如何设置set中的node_list_详解MySQL数据库如何实现类似Oracle的序列?

    概述 众所周知,Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的. 不过小编在实际使用过程中发现,MySQL的自增长有诸多的 ...

  2. mysql add months,mysql里有没有类似oracle里的ADD_MONTHS函数,自能的提取间隔的月份...

    优质回答 回答者:情荡之殇 当前日期:2017/11/12 10:15:01 1.oracle中add_months()函数 SELECT add_months(SYSDATE,1) from dua ...

  3. 【mysql】使用变量实现类似oracle中lag函数功能

    mysql使用变量实现类似oracle中的lag函数功能 说明: 有一个订单表,每次下单都会记录是否使用了券,现模拟一个需求,将订单表插入日志表达到记录用户上一次是否用券以及此订单是否用券的情况 #- ...

  4. mysql nextval同步锁_mysql中实现类似oracle中的nextval函数

    我们知道mysql中是不支持sequence的,一般是建表的时间使这个字段自增. 如       create table table_name(id int auto_increment prima ...

  5. MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK

    原文地址:http://it.dataguru.cn/article-3352-1.html 摘要: 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来 ...

  6. MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK.

    http://www.kankanews.com/ICkengine/archives/31891.shtml 1 引擎说明 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FE ...

  7. mysql 类似 nvl,浅谈mysql可有类似oracle的nvl的函数

    浅谈mysql可有类似oracle的nvl的函数 要用ifnull,而不是isnull isnull是判断是否为null,返回值是1表示null或者0表示不为空 ifnull等同于oracle的nvl ...

  8. mysql 类似 oracle connect by,mysql中实现相仿oracle的SYS_CONNECT_BY_PATH功能

    mysql中实现类似oracle的SYS_CONNECT_BY_PATH功能 oracle中的SYS_CONNECT_BY_PATH函数为开发带来了便利,mysql中如何实现类的功能呢? DELIMI ...

  9. MySQL实现类似Oracle的序列

    MySQL实现类似Oracle的序列 2013-10-22 10:33:35     我来说两句       作者:走过的足迹 收藏    我要投稿 MySQL实现类似Oracle的序列 Oracle ...

最新文章

  1. 「尖峰对话」问题征集:向张宏江和John Hopcroft 近距离提问
  2. 【深度学习】DIY 人脸识别技术的探索(二)
  3. why wechat is not a good place for the learning, but csdn is
  4. 【leetcode记录03】动态规划
  5. CentOS 7 安装SVN服务端
  6. linux终端自动输入,linux shell自动输入实现
  7. Linux下的定时器
  8. 每周到岗上班3天,2天可在家办公!携程3+2工作模式来了
  9. Spring框架----基于子类的动态代理
  10. Linux终端下输出二维码
  11. 广东技能大赛软件测试项目,我校喜获2019年全国职业院校技能大赛软件测试赛项二等奖...
  12. Word图文混排之杂志封面排版教程
  13. abb机器人伺服电机报闸是什么_ABB机器人伺服电机刹车失灵,抱闸卡死维修
  14. 如何处理图片放大后变模糊的情况?
  15. 英文论文写作必备网站
  16. 我的 6 年外包经验:印度、中国和菲律宾
  17. 临床数据库挖掘系列2-使用SEER.stat软件提取数据
  18. java面向对象编程(六)--四大特征之继承
  19. apmserv mysql5.1启动失败_使用APMServ时出现“1、Apache启动失败,请检查相关配置。√MySQL5.1已启动。”错误的终极解决办法:...
  20. CentOS 7 配置DNS服务

热门文章

  1. 如何形成文旅夜游项目核心产业链
  2. 景区夜游如何有效地带动整个城市的经济发展
  3. 喀什大学计算机教师,新疆喀什大学教师巴努来校挂职
  4. TCP/IP入门(2) --网络层
  5. java ognl表达式_[JavaWeb基础] 029.OGNL表达式介绍
  6. 区块链在游戏产业掀起狂潮
  7. canvas电子画板 涂鸦、橡皮擦、保存图片,图片放大缩小
  8. 堪称最好最全的A*算法详解(译文)
  9. Xilinx K7_Microblaze的Tmrintc定时器中断使用(ISE14.7)
  10. 企业上云之服务器硬件篇(五)