`
echohfut
  • 浏览: 233198 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

隔离级别与脏读幻读

阅读更多

1. 数据库操作 issue

1.1 更新丢失(lost update):当系统允许两个事务同时更新同一数据时,发生更新丢失

1.2 脏读(dirty read):当一个事务读取另一个事务尚未提交的修改时,产生脏读。

1.3 非重复读(nonrepeatable read):同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读。(A transaction rereads data it has previously read and finds that another committed transaction has modified or deleted the data. )

1.4 幻像(phantom read):同一查询在同一事务中多次进行,由于其他提交事务所做的插入操作,每次返回不同的结果集,此时发生幻像读。(A transaction reexecutes a query returning a set of rows that satisfies a search condition and finds that another committed transaction has inserted additional rows that satisfy the condition. )

 

2. ANSI/ISO SQL92标准定义的隔离级别:

2.1 未提交读(read uncommitted

2.2 提交读(read committed)

      这是大多是数据库的默认隔离级别并被大多vendors支持

2.3 重复读(repeatable read) --行级锁定,不能写该行

2.4 序列化(serializable)   --表锁定,不能插入新的数据

 

 

 

 

 

参考: http://kakaluyi.iteye.com/blog/185473

 

 

 

 

分享到:
评论

相关推荐

    数据库隔离级别与脏读、幻读的深入解析.md

    数据库隔离级别与脏读、幻读的深入解析

    数据库锁(行锁,表锁,共享锁,排他锁)脏读、不可重复读、幻读和事物隔离级别

    1. 读未提交(Read Uncommitted):允许读取未提交的数据,可能导致脏读、不可重复读、幻读。 2. 读提交(Read Committed):仅能读取已提交的数据,避免脏读,但仍可能遇到不可重复读和幻读。 3. 可重复读...

    GBase 8s隔离级别

    隔离级别是数据库系统解决并发控制的重要机制,它定义了事务在执行过程中如何与其他事务交互,防止出现并发操作时可能引发的问题,如脏读、幻读和不可重复读。 1. 脏读 (Dirty Read) 脏读在GBase 8s中对应于"读未...

    MySQL事务隔离级别

    最高级别的隔离级别,它完全避免了脏读、不可重复读和幻读。串行化通过强制事务按照一定的顺序执行来实现,从而消除了并发问题。但是,这会显著降低系统的并发性能,因为每个事务必须等待前一个事务完成才能开始。 ...

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

    仅从ACID或非ACID角度考虑问题是不够的,你应知道你的数据库支持何种事务隔离...在本文中,我们将解释什么是事务隔离级别和脏读,并给出一些广受欢迎的数据库是如何实现它们的。ANSISQL给出了四种标准的事务隔离级别:

    4种隔离级别

    可重复读隔离级别进一步加强了数据的一致性,它禁止了不可重复读和脏读,但在某些情况下可能会遇到幻读(Phantom Read)的问题,即在一个事务内,同样的查询返回的行数在两次查询之间发生变化。这通常发生在事务读取...

    SQL中 各种事务级别 和 脏读 不可重复读 幻读问题代码示例

    该资源详细介绍了MySQL数据库中的事务隔离级别,包括读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable),并讨论了这些级别如何影响脏读、不可重复读...

    MySQL的四种事务隔离级别

    1. 读未提交(read-uncommitted):允许事务读取未提交的数据,不能防止脏读,是最宽松的隔离级别。 2. 读已提交(read-committed):保证事务只能读取已经提交的数据,可以防止脏读,但不可重复读和幻读仍可能发生...

    脏读不可重复读幻影读

    ### 脏读、不可重复读与幻读详解 #### 一、概念解析 在数据库管理系统(DBMS)中,为了确保数据的一致性和完整性,引入了事务(Transaction)的概念。事务通常具备四个特性:原子性(Atomicity)、一致性(Consistency)、...

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

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

    SQLserver锁和事务隔离级别的比较与使用

    2. 提交读(Read Committed):默认隔离级别,只读取已提交的数据,防止脏读,但仍然可能遇到不一致的读取和幻读。 3. 可重复读(Repeatable Read):在整个事务中,多次读取相同数据的结果始终一致,防止不一致的...

    4种事务的隔离级别

    事务的隔离级别是数据库管理系统确保数据一致性的重要机制,它解决了并发事务执行时可能出现的问题,如读脏、不可重复读和幻读。在SQL92标准中,定义了四种事务隔离级别,分别是读未提交(Read Uncommitted)、读...

    52 MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?l.pdf

    REPEATABLE READ 隔离级别在 MySQL 中具有一个显著的特性,即它通过多版本并发控制(MVCC,Multi-Version Concurrency Control)机制来防止幻读,这是与 SQL 标准中 REPEATABLE READ 级别不同的地方。SQL 标准允许幻...

    56 MySQL最牛的RR隔离级别,是如何基于ReadView机制实现的?l.pdf

    MySQL的可重复读(RR)隔离级别是一种重要的事务隔离级别,旨在避免不可重复读和幻读问题,保证事务在并发环境下的一致性。ReadView(读视图)机制是实现这一隔离级别核心手段之一。本文将详细解析MySQL RR隔离级别...

    spring 事务传播与隔离级别DEMO

    4. SERIALIZABLE:最高级别的隔离,防止脏读、不可重复读和幻读,但性能最低,因为它对并发度进行了最严格的控制。 脏读是指一个事务读取了另一个事务还未提交的数据。不可重复读则是在同一事务中,两次读取同一...

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

    - 最低的隔离级别,允许读取未提交的数据,可能导致脏读、不可重复读和幻读。 3. **ISOLATION_READ_COMMITTED** - 允许一个事务读取另一个事务提交后的数据,但不允许脏读。不可重复读和幻读仍可能发生。 4. **...

    spring常用数据库事务传播属性和事务隔离级别1

    5. **Isolation.SERIALIZABLE**:最高的隔离级别,完全避免了脏读、不可重复读和幻读,但性能最差,因为需要锁定事务涉及的所有行。 在实际应用中,开发者需要根据业务需求来选择合适的事务传播属性和隔离级别,以...

    mysql原理之隔离级别1

    Serializable(可串行化)是最严格的隔离级别,它可以防止脏读、不可重复读以及幻读。通过强制事务顺序执行,避免了并发冲突,但这可能会导致大量超时和锁竞争,影响系统性能。 在 MySQL 中,InnoDB 存储引擎通过多...

Global site tag (gtag.js) - Google Analytics