描述事务的永久性和原子性,理解必要性和数据库如何实现

永久性:

  积分赠送的业务:A账户把100M流量赠送给B账号

    1start transaction;

    2Aupdate 流量减少100

    3Bupdate 流量增加100

    4commit

  提交了之后,MySQL会把这两个SQL产生的redo log写到磁盘上,这时候就算数据库崩了,数据库重新启动的时候,这个事务会前滚到成功的时候,

 

一致性/原子性:

  A用户给B用户转100万:

    1start transaction;

    2Aupdate钱减少100、这时候数据库崩了,数据库起来之后,一看是未提交事务就主动回滚了。

    3Bupdate钱增加100

    4commit

posted @ 2019-08-13 16:00  Tech_Shrimp  阅读(350)  评论(0编辑  收藏  举报