`

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

 
阅读更多

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

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

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

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

四种事务隔离级别:

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

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

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

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

 

名词解释:

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

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

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

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

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

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

分享到:
评论

相关推荐

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

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

    数据库事务的隔离级别1

    目录 数据库事务的隔离级别 2 数据库ACID理论 2 原子性 2 一致性 2 隔离性 2 持久性 3 事务隔离级别 3 Read Uncommitted(读取

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

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

    数据库事务管理及锁.xmind

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

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

    数据库中事务的四大特性(ACID

    事务隔离级别和脏读的快速入门

    仅从ACID或非ACID角度考虑问题是不够的,你应知道你的数据库支持何种事务隔离级别。一些数据库宣称自己具有“最终一致性”,但却可能对重复查询返回不一致的结果。相比于你所寻求的数据库,一些数据库提供更高的事务...

    (详细)事务特性和隔离级别

    ** (详细)事务特性和隔离级别 事务特性和隔离级别 一.数据库事务特性 数据库事务transaction是组合一系列数据库操作(增删查改)作为一个逻辑处理单元的操作。单元内存ACID四大特性。...事务隔离级别 2.1 RE

    msyql锁、事务隔离级别各种场景验证测试.rar

    我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了...

    innodb如何巧妙的实现事务隔离级别详解

    前言 ...我们都知道事务的几种性质,数据库中的一致性和隔离性等是实现事务的基本思想,在系统有大量的并发访问的情况下,了解和熟练应用数据库的本身的事务隔离级别,对于写出健壮性,并发处理能力强

    数据库事务隔离级别

    即会产生脏读。  2,read committed 提交读  大都数系统都是这个级别的,oracle是这个级别,可是MySQL不是这个级别的。  该事务级别定义:一个事务?始时,仅仅能“看见”已经提交的事务所做的改动。  

    常见的数据库事务隔离级别

    为什么会出现数据库的隔离级别呢? 数据库隔离级别是为了解决数据库并发访问过程中产生的各种数据安全问题. 事务的基本要素(ACID) 原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能...

    数据库的脏读、不可重复读、幻读

    数据库的脏读、不可重复读、幻读都和事务的隔离性有关。所以先了解一下事务的4大特性。  事务的4大特性(ACID):  1、原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么...

    java-数据库系统原理.docx

    并发访问问题 事务隔离级别 丢失修改 MySQL 所有事务隔离级别在数据库层面上均可避免 脏读 READ-COMMITTED 事务隔离级别以上可避免 不可重复读 REPEATABLE-READ 事务隔离级别以上可避免 幻读 SERIALIZABLE 事务隔离...

    MySQL数据库:事务的概述、ACID.pptx

    数据库编程 事务概述、ACID 课程目标 了解 —— 事务的概念;...隔离性是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到。即使在这样的一个系统中同时发

    数据库系统中事务的ACID原则.pdf

    数据库系统中事务的 数据库系统中事务的ACID原则 原则 事务的原⼦性、⼀致性、独⽴性及持久性 事务的原⼦性是指⼀个事务要么全部执⾏,要么不执⾏.也就是说⼀个事务不可能只执⾏了⼀半就停⽌了.⽐如你从取款机取钱,这...

    MySQL面试题进阶版附答案高难度深入挖掘MySQL的核心概念与技术探索ACID特性、事务隔离级别、索引优化、连接操作

    文件中是一些较为具有挑战性的MySQL面试题及答案。在面试准备过程中,熟悉这些问题并理解其背后的概念和原理将有助于你在面试中展示自己的数据库知识和技能。同时,也建议深入学习和掌握MySQL的各个方面,以便更好地...

    数据库特性及隔离级别说明

    一、事务的4大特性(ACID)  原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。  一致性(Consistency):事务必须使数据库从一个一致性状态...1.脏读: 一个

    MySQL事务及Spring隔离级别实现原理详解

    1、事务具有ACID特性 原子性(atomicity):一个事务被事务不可分割的最小工作单元,要么全部提交,要么全部失败回滚。 一致性(consistency):数据库总是从一致性状态到另一个一致性状态,它只包含成功事务提交...

    JDBC专题(六)-JDBC专题-事务的隔离级别.docx

    •隔离性(Isolation) 事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。 A ------> B B ------> C •持久性(Durability...

Global site tag (gtag.js) - Google Analytics