盒子
盒子
文章目录
  1. 1. 并发性
  2. 2. 一致性
  3. 3. 事务
  4. 4. 数据持久性
  5. 5. 提交方式
  6. 6. 逻辑备份
  7. 7. 热备份
  8. 8. 复制
  9. 9. 性能诊断

Oracle与Mysql的区别

1. 并发性

oracle对并发性的支持要好的多。

  • mysql以表级锁为主,对InnoDB引擎的表可以使用行级锁,但是依赖于表的索引
  • oracle使用行级锁,锁的粒度小,不依赖于索引

2. 一致性

  • oracle支持serializable的隔离级别,通过在undo表空间中构造多版本数据块来实现读一致性
  • mysql没有构造多版本块的机制,只支持read committed隔离级别

3. 事务

  • oracle很早就支持事务
  • mysql在innoDB存储引擎的行级锁的情况才支持事务

4. 数据持久性

  • oracle保证提交的数据均可恢复
  • mysql可能会丢失数据

5. 提交方式

  • oracle默认不自动提交,需用户手动提交
  • mysql默认自动提交

6. 逻辑备份

  • oracle逻辑备份不锁定数据,且备份的数据是一致的
  • mysql逻辑备份时要锁定数据,才能保证备份的数据是一致的

7. 热备份

  • oracle有成熟的热备工具rman
  • mysql innoDB的引擎,它会备份表和索引,但是不会备份.frm文件

8. 复制

  • oracle主库出现问题时,可以自动切换到从库,但是配置较复杂
  • mysql主库出现问题时,需要手动切换从库到主库

9. 性能诊断

  • oracle有各种成熟的性能诊断工具,比如awr、addm等
  • mysql诊断调优方法较少,主要有慢查询日志
支持一下
扫一扫,支持沈健
  • 微信扫一扫
  • 支付宝扫一扫