其他分享
首页 > 其他分享> > 事务(重要,精通)

事务(重要,精通)

作者:互联网

9、事务(重要)

   9.1、事务:一个事务就是一个完整的业务逻辑

   假设转账,从A账户向B账户中转账10000,将A账户的钱减去10000(update语句),将B账户的钱加上10000(update语句)

   这就是一个完整的业务逻辑

    以上操作为最小的工作单元,要么同时成功,要么同时失败,不可再分。两个update语句必须同时成功或者同时失败,才能保证钱是正确的。

  9.2、只有DML语句才会有事务,其它语句和事务无关

    insert

    delete

    update

    只有以上的三个语句和事务有关,其它没有关系

    因为只要以上的三个语句是数据库表中数据进行增、删、改

    只要你的操作一旦涉及到数据的增、删、改,那么就一定要考虑安全问题

    数据安全第一!!

  9.3、假设所有的业务,只要一条DML语句就能完成,还有必要存在事务机制吗?

    正是因为做某件事需要多条DML语句共同联合起来才能完成。如果任何一件复杂的事都能一条DML语句搞定

    则事务没有存在价值

    事务:本质上一个事务就是多条DML语句同时成功,或者同时失败!

  9.4、事物怎么做到多条DML语句同时成功或者同时失败的

    InnoDB存储引擎:提供一组用来记录事务性活动的日志文件

    事务开启:

    insert

    insert

    insert  

    delete

    update

    update

    update

    事务结束了!
    在事务执行过程中,每一条DML的操作都会记录到事务活动性的日志文件中

    在事务执行 过程中,可以提交事务,也可以回滚事务

    提交事务:清空事务性活动日志文件,将数据全部彻底持久化到数据库表中

        提交事务标志着事务的结束。并且是一种全部成功的结束。

    回滚事务:将之前所有的DML操作全部撤销,并且将清空事务性活动的日志文件

        回滚事务标志着事务的结束。并且是一种全部失败的结束

    

标签:语句,insert,精通,重要,DML,事务,update,日志
来源: https://www.cnblogs.com/doremi429/p/15836813.html