MySQL中事务的几种分类

从事务理论的角度来看,可以把事务分为以下五种类型:

  • 扁平事务(Flat Transactions)

  • 带有保存点的扁平事务(Flat Transactions with Savepoints)

  • 链事务(Chained Transactions)

  • 嵌套事务(Nested Transactions)

  • 分布式事务(Distributed Transactions)


下面分别介绍一下

1、扁平事务

扁平事务 是事务类型中最简单的一种,但是在实际生产环境中,这可能是使用最频繁的事务,在扁平事务中,所有操作都处于同一层次,其由BEGIN WORK开始,由COMMIT WORK或ROLLBACK WORK结束,其间的操作是源自的,要么都执行,要么都回滚,因此扁平事务是应用程序称为原子操作的的基本组成模块

下面显示了扁平事务的三种不同结果:
在这里插入图片描述

给出的扁平事务的三种情况,同时也给出了一个典型的事务处理应用中,每个结果大概占用的百分比。再次提醒,扁平事务虽然简单,但是在实际环境中使用最为频繁,也正因为其简单,使用频繁,故每个数据库系统都实现了对扁平事务的支持。

扁平事务的主要限制是不能提交或者回滚事务的某一部分,或分几个步骤提交。
下面给出一个扁平事务不足以支持的例子。例如用户在旅行网站上进行自己的旅行度假计划,用户设想从杭州到意大利的佛罗伦萨,这两个城市没有直达的班机,需要用户预订并转呈航班,需要或者搭火车等待。用户预订旅行度假的事务为

S1:预订杭州到上海的高铁

S2:上海浦东国际机场坐飞机,预订到米兰的航班

S3:在米兰转火车前往佛罗伦萨,预订去佛罗伦萨的火车

但是当用户执行到S3时,发现由于飞机到达米兰的时间太晚,已经没有当天的火车,这时用户希望在米兰当地住一晚,第二天出发去佛罗伦萨。这时如果事务为扁平事务

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值