事务

作者: 左羊 | 来源:发表于2019-07-23 06:49 被阅读0次

    1、啥是事务?
    1.1、事务的概念
    事务(Transaction)一个事务必须是一组不可分割的工作集合,整个工作集合的所有操作要么全部执行成功,要么全部执行失败。
    1.2、数据库事务的概念
    事务就是一组原子性的SQL语句操作。事务内的语句,要么全部执行成功,要么全部执行失败。
    2、事务的特性(ACID)
    原子性(Atomicity) 一个事务必须是一组不可分割的工作集合,整个工作集合的所有操作要么全部执行成功,要么全部执行失败。
    一致性(Consistency)事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
    隔离性(Isolation)事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
    持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响,该修改即使出现系统故障也将一直保持。
    3、事务的隔离级别

    隔离性 脏读 不可重读度 幻读
    ISOLATION_READ_UNCOMMITTED(未提交读) true true true
    ISOLATION_READ_COMMITED(提交读) false true true
    ISOLATION_REPEATABLE_READ(可重复读) false false true
    ISOLATION_SERIALIZABLE(可串行化) false false false

    4、事务传播特性

    传播性 描述
    PROPAGATION_REQUIRED 当前有事务就用当前的,没有就用新的
    PROPAGATION_SUPPORTS 事务可有可无,不是必须的
    PROPAGATION_MANDATORY 当前一定要有事务,不然就抛异常
    PROPAGATION_REQUIRES_NEW 无论是否有事务,都起个新的事务
    PROPAGATION_NOT_SUPPORTED 不支持事务,按非事务方式运行
    PROPAGATION_NEVER 不支持事务,如果有事务就抛出异常
    PROPAGATION_NESTED 当前有事务就在当前事务里再起一个事务

    相关文章

      网友评论

          本文标题:事务

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