美文网首页
03 | 事务:MySQL的事务隔离和隔离实现

03 | 事务:MySQL的事务隔离和隔离实现

作者: 伐无道 | 来源:发表于2018-12-27 17:43 被阅读0次

    事务的4大特性
    ACID

    (各吃一元)
    1.隔离性,持久性,一致性,原子性
    

    数据库多个事务同时执行的时候可能出现
    1.脏读
    2.不可重复读
    3.幻读

    事务隔离越严实,效率越低

    SQL标准事务的隔离标准级别包括:

    1.读未提交:一个事务还没提交时,它做的变更就会被别的事务看到
    2.读提交:一个事务只有在提交之后,它所做的变更才会被看到
    3.可重复读:一个事务在读取其他事务时,即使有其他事务对数据进行变更,对本事务看到的数据依然是之前的
    4.串行化:针对同一行数据,"写"会加锁,"读"也会加锁,如果有多个锁竞争统一资源,则按照时间顺序先到先得,后续事务必须等待前一个事务完成才能进行

    隔离的实现

    在MySQL中,每条更新的记录都会记录一条回滚操作.记录上的最新值,可以通过回滚操作返回之前的状态
    不同时刻启动的事务会有不同的read-view,同一条记录可以有多个版本,可以通过数据库的多版本并发控制(MVCC),依据隔离级别,回滚到指定版本

    事务最好set autocommit=1 显示提交

    相关文章

      网友评论

          本文标题:03 | 事务:MySQL的事务隔离和隔离实现

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