`

数据库事务ACID,及事务的隔离级别,脏读,幻读

 
阅读更多

原子性:整个事务中的所有操作要么全部完成,要么全部不完成,不能停滞在中间某个环节

一致性:事务前后数据库的完整性约束没有被破坏

隔离性:多个事务之间是互不干扰的,一个事务不可能看到其它事务中间某一时刻的数据

持久性:事务对数据库的操作更改是持久的,不会被回滚

四种事务隔离级别:

读未提交:读取其他事务没有提交的数据(脏读,幻读,不可重复读,避免了第一类更新丢失)

读已提交:读已提交的数据(出现不可重复读,幻读)

可重复读:同一事务多次读取时能够保证所读取的数据一样,后续读取不能读到另一个事务已经提交的数据(会出现幻读)

串行读取:一个事务接一个事务串行执行

 

名词解释:

更新丢失:每个事务不知道其它是无的操作,后面的事务对数据做修改导致前面事务所做的数据修改丢失

解决办法:对行加锁,只允许一个更新事务。

脏读:读取到其它事务没有提交的数据

幻读:一个事务对数据库中所有数据做了修改,这时新插入一条数据,并提交,这时在读取一次后面插入的数据被读出,给人感觉有一条数据没有被修改

不可重复的:一个事务多次读取的数据结果不一样

解决办法:只有在事务已提交后才允许读取这条数据则可避免该问题

分享到:
评论

相关推荐

    数据库事务的四大特征以及隔离级别

    1. 事务的四大特征(ACID) 原子性(Atomicity):事务包含所有操作要么全部成功,要么全部回滚。 一致性(Consistency):一个事务执行之前和...Serializable(串行化):可避免脏读、不可重复读、幻读的发生。 Rep

    数据库事务与隔离级别.docx

    数据库事务与隔离级别 数据库事务是指一系列操作的集合,作为一个单元执行,以维护数据库的一致性和...数据库提供了多种隔离级别以避免这些问题,例如Serializable(串行化)可以避免脏读、不可重复读、幻读的发生。

    MySQL事务隔离级别

    MySQL默认的事务隔离级别是可重复读,它能防止脏读和不可重复读。在这个级别下,事务在整个事务期间可以看到一致的数据视图,即同一查询始终返回相同的结果,除非事务自己对数据进行了修改。然而,幻读问题依然存在...

    数据库事务的隔离级别1

    数据库事务的隔离级别是数据库管理系统在并发环境中保证数据一致性、避免脏读、不可重复读和幻读等问题的关键机制。在数据库领域,ACID(原子性、一致性、隔离性、持久性)理论是事务处理的基本原则。 1. **原子性...

    数据库事务与隔离技术

    数据库事务是确保数据库操作一致性的重要机制,它定义了一组数据库操作的边界,这些操作要么全部执行,要么全部不执行。事务通常包含四个基本属性,即原子性(Atomicity)、一致性(Consistency)、隔离性...

    MySQL的四种事务隔离级别

    MySQL数据库管理系统提供了四种事务隔离级别来处理事务并发中可能遇到的问题。事务并发问题通常包括脏读、不可重复读和幻读。 一、事务的基本要素(ACID) 事务具有四个基本要素,即原子性(Atomicity)、一致性...

    C#数据库事务原理及实践

    总的来说,C#数据库事务原理及实践涉及了如何在.NET框架下使用C#操纵数据库事务,包括事务的开始、提交、回滚以及事务的ACID属性在实际操作中的应用。通过理解这些知识点,开发者能更好地保证数据库操作的安全性和...

    spring事务的传播特性和事务隔离级别

    ### Spring事务的传播特性和事务隔离级别 #### 一、Spring事务的传播特性(Propagation) 在Spring框架中,事务管理不仅提供了ACID属性的支持,还引入了事务的传播特性,这些特性决定了当一个方法调用另一个方法时,...

    数据库事务ACID属性:确保数据一致性的关键

    数据库事务是数据库管理...本文通过深入分析ACID属性,并结合实际的SQL代码示例,为读者提供了一个全面的数据库事务ACID属性指南。希望本文能够帮助读者在实际工作中更好地利用事务来保证数据操作的安全性和一致性。

    数据库事务总结 数据库事务总结

    - 描述:最低级别的隔离,允许读取未提交的更改,可能会遇到脏读、不可重复读和幻读等问题。 - 示例:如果事务A修改了数据但未提交,事务B能够读取到这些更改。 2. **读已提交(Read Committed)**: - 描述:不...

    数据库事务以及事务的隔离级别

    数据库事务是数据库管理系统中用于维护数据一致性的重要机制。事务由一系列数据库操作组成,这些操作作为一个整体被执行,确保了数据的完整性和一致性。事务有四个关键属性,也被称为ACID(原子性、一致性、隔离性和...

    Spring事务的传播特性和隔离级别

    ### Spring事务的传播特性和隔离级别 #### 一、事务的基本概念 在计算机科学中,事务(transaction)是指一系列操作的集合,这些操作要么全部成功完成,要么全部失败回滚,确保数据的一致性和完整性。事务具备四个...

    【面试高频!】数据库事务/事务的作用/数据库事务ACID属性 / 特性/事务的隔离性/数据库事务隔离级别/ 数据库的隔离级别导致问题/数据库事务的使用/mysql的事务死锁/ 快速解决mysql死锁问

    数据库事务ACID属性 / 特性 原子性(Atomicity):要么全部完成,要么全部不完成。 一致性(Consistency):事务必须始终保持系统处于一致性。 隔离性(Isolation):隔离执行事务,使它们好像是系统在给定时间内执行的...

    数据库事务管理及锁.xmind

    数据库事务管理及锁机制原理剖析:包括事务特性 ACID、数据隔离级别、事务实现的原理、锁机制,及过程中可能遇到的查询效率及死锁问题等

    数据库_事务隔离级别与锁.docx

    ### 数据库事务隔离级别与锁 #### 一、事务的基本特征 事务是数据库管理系统的核心概念之一,用于确保数据的一致性和正确性。事务通常具备以下四个特性,即ACID特性: 1. **原子性(Atomicity)**:事务被视为一...

    06-VIP-深入理解Mysql事务隔离级别与锁机制.pdf

    在并发事务处理过程中,可能会出现更新丢失、脏读、不可重复读和幻读等问题。这些问题都是由于多事务并发执行引起的,需要通过事务隔离机制和锁机制来解决。 事务隔离级别 数据库的事务隔离级别是用来解决读一致性...

    Spring Boot数据库事务控制.zip

    不同的隔离级别对应不同的并发问题,如脏读、不可重复读和幻读,开发者需要根据业务需求选择合适的隔离级别。 6. **事务嵌套**:在同一个事务中调用另一个@Transactional方法,Spring会处理这种事务嵌套。默认情况...

    数据库基础数据库事务处理.pptx

    Read Uncommitted是指允许脏读的隔离级别,Read Committed是指避免脏读的隔离级别,Repeatable Read是指避免不可重复读的隔离级别,Serializable是指避免幻读的隔离级别。 并发控制 并发控制是指数据库系统中对多...

Global site tag (gtag.js) - Google Analytics