【重难点总结】第五章 数据库

【重难点总结】第五章 数据库

一、MySQL 对比 Oracle

1.MySQL

优点

  • 开源和社区支持
  • 轻量级、配置简单、适合中小型应用快速开发和部署
  • 足以处理中小型应用的负债,查询速度快、性能好

缺点

  • 相较 Oracle,缺少了一些高级功能,如高级分区、高级优化器和数据压缩等
  • 锁粒度不如 Oracle
  • 没有厂商提供专业的解决方案

2.Oracle

优点

  • 锁粒度更精细,在复杂的事务场景中,具备更好的性能
  • 有更强大的查询优化器,在复杂的查询场景中,具备更好的性能
  • 扩展性更好
  • Oracle 提供更高级的企业级功能

缺点

  • 成本高,需要付费
  • 安装、配置和管理相对复杂,需要专业的数据库管理员

3.适用场景

  • MySQL 适合那些需要灵活、易用、成本较低的数据库解决方案的中小型项目和 Web 应用。其开源特性和良好的性能使其在开发社区中广受欢迎
  • Oracle 则适合大型企业和关键任务应用,需要强大的事务处理能力、高性能、高可用性和高级功能。尽管成本较高和管理复杂,但其强大的功能和可靠性使其在企业级应用中具有很高的价值。

4.其他

事务隔离级别

  • MySQL 默认采用可重复读
  • Oracle 默认采用读已提交,不支持读未提交和可重复读,但通过其他机制可实现类似效果

二、事务

1.什么是事务

事务就是指一组数据库操作,并且这些操作要么全部执行成功,要么全部回滚,保证数据库数据的一致性和完整性

事务具有以下四个重要特性:

  • 原子性(Atomicity):事务是一个原子操作单位,不可分割。事务中的所有操作要么全部提交成功,要么全部回滚,不存在部分执行的情况
  • 一致性(Consistency):在事务开始之前和事务结束之后,事务在执行前后数据库会从一个一致性状态变到另一个一致性状态
  • 隔离性(Isolation):多个事务并发执行时,各个事务之间应该相互隔离,互不干扰
  • 持久性(Durability):一旦事务提交,它对数据库中数据的改变就是永久性的,即使系统崩溃,数据也不会丢失

2.ACID 如何保证

  • 原子性:通过事务日志来保证,在执行事务期间,所有的数据库操作会被记录到事务日志中,如果事务提交成功,则会将日志中记录的操作持久化;如果事务未能成功提交,则会根据事务日志撤销事务中的操作
  • 一致性:通过数据库的约束和规则来保证,包括主键、外键、唯一性约束、默认值约束等
  • 隔离性:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

313YPHU3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值