`

数据库事务并发问题

阅读更多

多个事务同时访问数据库时候,会发生下列5类问题,包括3类数据读问题(脏读,不可重复读,幻读),2类数据更新问题(第一类丢失更新,第二类丢失更新):

1,脏读(dirty read)

A事务读取B事务尚未提交的更改数据,并在这个数据基础上操作。如果B事务回滚,那么A事务读到的数据根本不是合法的,称为脏读。在oracle中,由于有version控制,不会出现脏读。

2,不可重复读(unrepeatable read)

A事务读取了B事务已经提交的更改(或删除)数据。比如A事务第一次读取数据,然后B事务更改该数据并提交,A事务再次读取数据,两次读取的数据不一样。

3,幻读(phantom read)

A事务读取了B事务已经提交的新增数据。注意和不可重复读的区别,这里是新增,不可重复读是更改(或删除)。这两种情况对策是不一样的,对于不可重复读,只需要采取行级锁防止该记录数据被更改或删除,然而对于幻读必须加表级锁,防止在这个表中新增一条数据。

4,第一类丢失更新

A事务撤销时,把已提交的B事务的数据覆盖掉。这种错误会造成非常严重的后果。

5,第二类丢失更新

A事务提交时,把已提交的B事务的数据覆盖掉。这种错误会造成非常严重的后果。

数据库通过锁机制解决数据并发问题。

ANSI SQL 92标准定义了4个等级的事务隔离级别:

READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE

SQL 92 推荐使用REPEATABLE READ 保证数据的读一致性。

 

本人博客已搬家,新地址为:http://yidao620c.github.io/

分享到:
评论

相关推荐

    数据库的并发控制 ppt 课件

    数据库的并发控制  数据库并发控制的含义  事务  并发控制的必要性 基于封锁的并发控制技术  基于时间戳的并发控制技术

    软考系分之数据库事务并发与事务加锁

    内容概要:数据库事务并发与事务加锁; 使用场景:本资源主要用于辅助系统分析师的软考; 适用人群:系分备考者、产品、开发、测试等,也适用于有相关知识点学习兴趣的小伙伴; 其他:思维导图的方式介绍知识点,...

    数据库并发处理控制 pdf

    8.1 并发控制概述 8.2 封锁 8.3 封锁协议 8.4 活锁和死锁 8.5 并发调度的可串行性 8.6 两段锁协议 8.7 封锁的粒度 8.8 Oracle的并发控制 8.9 小结

    数据库的事务处理与并发控制

    数据库处理的经典资料: 叫你处理事务 如何并发处理 瞧瞧吧 机不可失哟

    数据库并发控制机制——事务

    这是一个关于银行的数据库的处理,模仿的是从账户1转账给...那就需要用到事务,如果没有一起执行,就回滚。这个代码比较简单,希望对大家有帮助,自己建立一个数据库bank,在里面建立一个表Account,两属性:Id,money.

    数据库思维导图——并发控制

    数据库思维导图——并发控制 并发控制 多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 不能充分利用系统资源,发挥数据库共享资源的...事务并发执行带来的问题

    数据库并发控制的基本方法

    讲述了数据库中的并发控制,包括事务处理,加锁机制,以及恢复,日志记录

    《数据库原理》并发操作、串行调度

    一些常用的关于数据库并发操作、串行调度的习题及其答案。

    8、数据库安全性管理、数据库事务及并发控制.sql

    8、数据库安全性管理、数据库事务及并发控制.sql

    论文研究 - 键值NoSQL数据库的冲浪并发事务处理模型

    本文提出了一个包含Redis的键值NoSQL数据库的事务模型,以使用户能够以ACID(原子性,一致性,隔离性和持久性)方式访问数据,该模型被生动地称为冲浪并发事务模型。 详细描述了体系结构,重要功能和实现原理。 还...

    数据库并发控制及SQL

    数据库并发控制及SQL 包含内容包括:数据库并发控制及SQL Server的并发控制机制 事务及并发控制的基本概念 封锁机制 SQL Server的并发控制机制 等等

    数据库的事务处理和并发控制

    当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁定。事务和锁是两个紧密联系的概念。通过事务、批和锁的使用,还可以监测系统,以及优化物理数据库。作业是一种多步执行的任务。 本章主要...

    数据库中的事务管理,恢复以及并发控制技术.doc

    数据库中的事务管理,恢复以及并发控制技术的概述

    数据库事务分析

    事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。SQL Server提供了几种自动的可以通过编程...当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁定

    33丨MySQL调优之事务:高并发场景下的数据库事务调优.html

    33丨MySQL调优之事务:高并发场景下的数据库事务调优.html

    浅谈数据库中事务处理和并发控制技术

    该文档主要浅谈了数据库事务处理和并发控制的技术,可以作为初学者的参考文档

    数据库恢复和并发控制

    掌握事务的概念及性质 掌握数据库恢复的基本技术和策略 1、了解并发操作可能产生的数据不一致性 2、掌握并发控制的技术:封锁机制、三级封锁协议、 活锁的避免、死锁的预防、诊断及解除 3、掌握并发调度的正确性...

    Java And 数据库事务

    事务,并发,隔离级别,JTA 事务,EJB,BMT,CMT,Spring,异常处理 异常处理还没有整理。 内容80%抄袭

    数据库事务及锁机制面试题

    脏读、不可重读度、幻读,其实都是数据库的一致性问题,必须由一定的事务隔离机制来解决。性能高和事务完全隔离性无法同时满足,DB提供了4项事务隔离级别来权衡,需要用户根据自身业务来选择合适的隔离级别。隔离...

Global site tag (gtag.js) - Google Analytics