数据库事务一
来源:互联网 发布:美国网络运营商 编辑:程序博客网 时间:2024/06/11 18:59
在单用户模式,事务非常容易理解 — 它们只是和保存或忘记应用程序的状态有关。然而,在多用户模式中,事务变得复杂多了。多用户事务的经典说明是银行帐户,其中一个应用程序试图在借记帐户,同时另一个应用程序试图贷记同一个帐户。如果您熟悉并发编程(也叫作多线程编程),您以前可能见过这种问题。根本的问题是除非两个事务相互隔离,否则一个应用程序就可能影响另一个,从而导致错误的程序状态。在我们简单的说明中,这可能意味着一个帐户中有错误的金额,这将无益于留住客户。
当处理多个访问相同数据的用户时,通常可能出现三种问题:
- 脏读。当应用程序使用了被另一个应用程序修改过的数据,而这个数据处于未提交状态时,就会发生脏读。第二个应用程序随后会请求回滚被其修改的数据。第一个事务使用的数据就会被损坏,或者“变脏”。
- 不可重复的读。当一个事务获得了数据,而该数据随后被一个单独的事务所更改时,若第一个事务再次读取更改后的数据,就会发生不可重复的读。这样,第一个事务进行了一个不可重复的读。
- 虚读。当事务通过某种查询获取了数据,另一个事务修改了部分该数据,原来的事务第二次获取该数据时,就会发生虚读。第一个事务现在会有不同的结果集,它可能包含虚读。
- 【事务一】数据库事务
- 数据库事务一
- 数据库一事务
- 数据库事务(一)
- (一)数据库事务-事务的特性
- 事务漫谈(一)--数据库角度
- [数据库事务与锁]详解一: 彻底理解数据库事务
- [数据库事务与锁]详解一: 彻底理解数据库事务
- [数据库事务与锁]详解一: 彻底理解数据库事务
- Sql Server数据库事务介绍(一)---什么是事务
- Sql Server数据库事务介绍(一)---什么是事务
- 数据库事务和锁(一)
- 用Microsoft.net实现数据库事务(一)
- 数据库并发事务控制 一:综述
- JDBC和数据库事务详解(一)
- 数据库(一):ACID,事务,隔离级别
- 【数据库之事务(一)】事务是什么,以及事务四个特性,以及事务并发问题和隔离级别
- 数据库事务
- [转摘]希望每一个人都有健康的身体
- 使用 Subversion 进行版本控制
- had got my way to Roma
- 四种数据库,取随机记录的方法
- 调试ASP时的错误提示及VBScript 语法错误
- 数据库事务一
- 不要对locked object(上锁对象)的object reference 重新赋值
- 如何禁止恶意用户使用FileSystemObject
- 对Bugzilla-2.19.3的汉化
- 数据库事务二
- 四舍五入保留小数
- Subversion使用手记
- 键盘输入时OnKeyPress验证(只能输入小数)
- 听了个讲座