• 009-事务管理


    一、事务概述

      事务是一个不可分割的整体。

      事务ACID特性:原子性(Atomicty)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

    事务的隔离级别

      READ_UNCOMMITTED

      READ_COMMITTED

      REPEATABLE_READ

      SERIALIZABLE

      从上往下,级别越来越高,并发性越来越差,安全性越来越高。

    二、事务所面临的问题

      定义的事务的隔离级别是为了解决数据在高并发下产生的问题:Dirty Read(脏读)、Unrepreatable Read(不可重复读)、Phantom Read(幻读)

    脏读示例

      

    不可重复读

      

    幻读

      

    概述

      脏读:事务A读取了事务B未提交的数据,并在这个基础上又做了其他操作

      不可重复读:事务A读取了事务B已提交的更改数据

      幻读:事务A读取了事务B已提交的新增数据

    结论:不允许脏读,后两条大多数情况不考虑。

       

    JDBC也提供了四类事务隔离级别。mysql默认是READ_COMMITTED。

      其他可以通过代码查看  

            DatabaseMetaData metaData = DBUtil.getConnection().getMetaData();
            int defaultTransactionIsolation = metaData.getDefaultTransactionIsolation();

    数据库隔离事务,其实是锁。插入数据时,就锁定表,锁表。更新数据时,就是锁行。

        

  • 相关阅读:
    weakself的另一种写法
    SDWebImage的使用说明
    关于AVPlayerItem对象的属性duration返回播放总时长的坑
    Xcode 问题
    循环引用问题
    使用Spring Animation的API创建动画
    iOS触摸事件处理
    OS开发中的事件处理(二)-事件传递,响应者链条
    python实现简单的百度云自动下载
    我眼中的K-近邻算法
  • 原文地址:https://www.cnblogs.com/bjlhx/p/8035045.html
Copyright © 2020-2023  润新知