zoukankan      html  css  js  c++  java
  • 数据库事务详解

    事务::事务是恢复和并发控制的基本单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。

    事务四个特性:1.原子性:事务中的各个操作要么都做,要么都不做

           2.一致性:事务必须使数据库从一个一致性状态变换到另一个一致性状态

           3.隔离性:一个事务的执行不能被其他事务干扰

           4.永久性:一个事务一旦提交,它对数据库中数据的改变就应该是永久性

    脏读:一个事务处理过程里读取了另一个未提交事务的数据

    不可重复读:一个事务内多次查询却返回了不同的数据值(强调update)

    幻读:一个事务范围多次查询返回不同的数据值(强调 insert,delete)

    Sring中五种隔离级别:

        TRANSACTION_NONE:不使用事务

        TRANSACTION_READ_UNCOMMITTED:允许脏读

        TRANSACTION_READ_COMMITTED:防止脏读,最常用的隔离级别,大多数数据库默认的隔离级别

        TRANSACTION_REPEATABLE_READ:防止脏读和不可重复读

        TRANSACTION_SERIALIZABLE:防止脏读,不可重复读,幻读,效率低

    回滚:回滚通常是由数据库日志管理的,回滚时反向执行从事务开始时的所以日志。其他运行的事务可能依赖于被回滚的事务的结果,在这种情况下,这些依赖的事务也会被回滚

  • 相关阅读:
    BZOJ 2212/BZOJ 3702
    BZOJ 4761 Cow Navigation
    BZOJ 3209 花神的数论题
    BZOJ 4760 Hoof, Paper, Scissors
    BZOJ 3620 似乎在梦中见过的样子
    BZOJ 3940 Censoring
    BZOJ 3942 Censoring
    BZOJ 3571 画框
    BZOJ 1937 最小生成树
    BZOJ 1058 报表统计
  • 原文地址:https://www.cnblogs.com/team42/p/7016687.html
Copyright © 2011-2022 走看看