美文网首页
【重学MySQL打卡行动】Day3事务隔离:为什么你改了我还看不

【重学MySQL打卡行动】Day3事务隔离:为什么你改了我还看不

作者: 花生无翼 | 来源:发表于2020-06-21 12:44 被阅读0次

    学习内容 : 事务隔离级别与实现

    一、隔离性与隔离级别

    1.事务的特性:原子性、一致性、隔离性、持久性
    2.多事务同时执行的时候,可能会出现的问题:脏读、不可重复读、幻读
    3.事务隔离级别:读未提交、读提交、可重复读、串行化
    4.不同事务隔离级别的区别:
    读未提交:一个事务还未提交,它所做的变更就可以被别的事务看到
    读提交:一个事务提交之后,它所做的变更才可以被别的事务看到
    可重复读:一个事务执行过程中看到的数据是一致的。未提交的更改对其他事务是不可见的
    串行化:对应一个记录会加读写锁,出现冲突的时候,后访问的事务必须等前一个事务执行完成才能
    继续执行

    二、事务隔离的实现

    每条记录在更新的时候都会同时记录一条回滚操作。同一条记录在系统中可以存在多个版本,这就是数据库的多版本并发控制(MVCC)。

    三、事务启动方式

    显式启动事务语句, begin 或 start transaction。配套的提交语句是 commit,回滚语句是 rollback。
    set autocommit=0,这个命令会将这个线程的自动提交关掉。意味着如果你只执行一个 select 语句,这个事务就启动了,而且并不会自动提交。这个事务持续存在直到你主动执行 commit 或 rollback 语句,或者断开连接。

    相关文章

      网友评论

          本文标题:【重学MySQL打卡行动】Day3事务隔离:为什么你改了我还看不

          本文链接:https://www.haomeiwen.com/subject/ceooxktx.html