事务-笔记整理

一、事务的概述

:

1、什么是事务(transaction)?

事务:

  • 一个最小不可再分的工作单元;
  • 通常一个事务对应了一个完整的业务;【例如:银行账户转账业务,改业务就是一个最小的工作单元】
  • 而一个完整的业务需要批量的DML(insert,update
    ,delete)语句共同联合完成;
  • 事务只和DML语句有关系,或者说DML语句才有事务;
  • 以上所描述的 “批量的DML语句” 共有多少条DML语句,与业务逻辑有关系。业务逻辑不同的DML语句的个数不同。

2、关于银行账户转账操作,账户转账是一个完整的业务,最小单元,不可再分。也就是说银行账户转账是一个事务。

t_act 账户表

actno balance
act-001 50000.0
act-002 10000.0

执行转账操作(10000):

update t_act set balance=40000.0 where actno='act-01';
update t_act set balance=20000.0 where actno='act-02';

以上的两条DML语句要求同时成功或者同时失败,最小单元,不可再分。当第一条DML语句执行成功之后,并不能将底层数据库中的第一个账户的数据修改,只是将操作记录了一下,这个记录是在内存中完成同步。若第二条DML语句执行失败,清空所有历史操作。要完成以上的功能必须借助事务。

3、事务的四个特性(ACID):

  • 原子性 (A):
    *事务是最小的工作单元,不可再分
  • 一致性©:
    *事务要求所有的DML语句操作的时候,必须保证同时成功或者同时失败
  • 隔离性 (I):
    *事务A和事务B之间具有隔离
  • 持久性(D) :
    *是事务的保证,事务终结的标志。【内存中的数据持久到硬盘文件中】

4、关于术语:

  • 开启事务:Start Transaction
  • 事务结束:End Transaction
  • 提交事务:Commit Transaction
  • 回滚事务:Rollback Transaction

5、提交和回滚

commit; 提交:成功的结束,将所有的DML语句操作历史记录和底层硬盘we年中的数据来一次同步
rollbac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值