栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【数据库】事务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数据库】事务

概念:事务是指一个用户定义的数据库操作序列,这个事务要么全部执行要不不执行。

事务特性:ACID

原子性、一致性、隔离性,持久性。

 原子性(Atomicity):

是不可分割的最小操作单位,要么同时成功,要么同时失败


 一致性(Consistency):

保证数据的状态操作前和操作后保持一致


 隔离性(Isolation):

多个事务同时操作相同数据库的同一个数据时,一个事务的执行不受另外一个事务的干扰
 

 持久性(Durability):

当事务提交或回滚后,数据库会持久化的保存数据

 事务操作步骤     1. 开启事务
    2. 编写事务逻辑操作单元
    3. 提交事务或回滚事务

 事务分类:
    * 隐式事务:没有明显的开启和结束事务的标志
        * insert、update、delete语句本身就是一个事务
    * 显式事务:具有明显的开启和结束事务的标志
        1. 取消自动提交事务:set autocommit=0;
        2. 开启事务:start transaction;
        3. 提交或回滚事务:
            - commit;
            - rollback;


事务的隔离级别(面试常考):

    * 事务并发问题是如何产生的?
        - 当多个事务同时操作同一个数据库的相同数据时
    * 事务并发问题
        - 脏读:一个事务读取到了另外一个事务未提交的数据
        - 不可重复读:同一个事务中,多次读取到的数据不一致
        - 幻读:一个事务读取数据时,另外一个事务进行更新,导致第一个事务读取到了没有更新的数据
    * 处理事务并发问题,设置事务隔离级别
        - READ UNCOMMITTED
        - READ COMMITTED:可以避免脏读
        - REPEATABLE READ:可以避免脏读、不可重复读和一部分幻读
        - SERIALIZABLE:可以避免脏读、不可重复读和幻读
    * 注意:隔离级别从小到大安全性越来越高,但是效率越来越低
    * 设置隔离级别
        - set session|global  transaction isolation level 隔离级别名;
    * 查看隔离级别
        - select @@tx_isolation;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998722.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号