- 浏览: 1371370 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (551)
- 计划 (4)
- java (115)
- oracle (60)
- ajax (3)
- javascript (64)
- 计算机操作技巧集 (11)
- 近期关注话题 (10)
- 随想 (13)
- html (6)
- struts (15)
- hibernate (16)
- spring (2)
- game (0)
- Eglish (10)
- DisplayTag (6)
- jsp (18)
- css (3)
- eclipse (3)
- 其他知识 (8)
- 备用1 (12)
- 备用2 (1)
- 笑话-放松心情 (9)
- 设计 (1)
- 设计模式 (1)
- 数据结构 (0)
- office办公软件 (5)
- webwork (0)
- tomcat (2)
- MySql (1)
- 我的链接资源 (5)
- xml (2)
- servlet (0)
- PHP (13)
- DOM (0)
- 网页画图vml,canvas (1)
- 协议 (2)
- 健康 (3)
- 书籍下载 (1)
- jbpm (1)
- EXT (1)
- 自考 (2)
- 报表 (4)
- 生活 (64)
- 操作系统基础知识 (2)
- 测试 (2)
- guice (1)
- google学习 (2)
- Erlang (1)
- LOG4J (2)
- wicket (1)
- 考研 (1)
- 法律 (1)
- 地震 (1)
- 易学-等等相关 (1)
- 音乐 (1)
- 建站 (4)
- 分享说 (3)
- 购物省钱 (0)
- linux (1)
最新评论
-
zenmshuo:
如果使用SpreadJS这一类的表格工具,应该能更好的实现这些 ...
js中excel的用法 -
hjhj2991708:
第一个已经使用不了
jar包查询网站 非常好用! -
jiangmeiwei:
...
中文乱码 我的总结 不断更新 -
gary_bu:
...
response.sendRedirect 中文乱码问题解决 -
hnez:
多谢指点,怎么调试也不通,原来我在<body>&l ...
ExtJs IE ownerDocument.createRange() 错误解决方案
原文http://www.128kj.com/article/article17/6094A5983AECEB5292710B4EC8AABAE7.htm?id=1506
什么是脏数据,脏读,不可重复读,幻觉读?
以下几个术语常见于数据库文章、论文。操作系统分析中亦有涉及。
脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。
不可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。
幻觉读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。
什么是脏数据,脏读,不可重复读,幻觉读?
以下几个术语常见于数据库文章、论文。操作系统分析中亦有涉及。
脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。
不可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。
幻觉读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。
发表评论
-
oracle删除重复记录
2009-07-16 11:16 1221有困难,找猪八戒 Q:要删除一张表中的重复记录,但是要保留一条 ... -
db2 express-c 安装后检查及安装例子数据库
2009-02-27 17:07 3403摘自http://publib.boulder.ibm.com ... -
问:如何得到与WEB-INF同级目录下的配置文件
2008-09-23 08:35 2147Q: 有如下需求:需要从WEB-INF同级的目录下读取配 ... -
讨论如何优化这条sql
2008-09-11 16:33 1605SELECT * FROM ( ... -
N Vs Exist in SQL
2008-07-02 16:39 1401N Vs Exist in SQL 原文如下: http:// ... -
SQL 指南
2008-05-27 11:45 1049http://www.sql-tutorial.com/ -
orace 分析函数
2008-05-26 09:08 1237select x.num, sum(x.num) over ( ... -
oralce tutoial 指南
2008-03-22 14:21 1048http://www.exforsys.com/tutoria ... -
查找部分字段重复的记录 ORACLE Identifying duplicate rows
2008-03-13 08:49 1976http://www.jlcomp.demon.co.uk/f ... -
oracle 资源网站
2008-01-12 11:42 1885oracle alter table table_ ... -
Top 5 Oracle Reference Books 前5本 oracle 参考书
2008-01-12 11:24 1744http://databases.about.com/od/o ... -
Oracle与DB2、MySQL取前10条记录的对比<转>
2008-01-11 16:46 2229原文:http://tech.ccidnet.com/art/ ... -
expert on e on one oracle - Thomas Kyte 读书笔记
2008-01-11 10:17 2117=============================== ... -
oracle 资源 整体理解oralce 比较好 英文网
2008-01-09 16:59 1216http://www.adp-gmbh.ch/ora/admi ... -
oracle java 插入 clob insert clob hibernate
2007-12-21 15:48 7244用jdbc 或者 hibernate http://www.w ... -
pl/sql 应用之一
2007-12-12 17:21 1156declare begin insert into x ... -
init.ora文件所在目录
2007-12-12 15:58 2193Oracle安装盘:\oracle\admin\DB名称\pf ... -
[Oracle] 如何解决ORA-04031 错误
2007-12-12 15:53 3264[Oracle] 如何解决ORA-04031 ... -
oracle faq 常见问题解答 http://www.orafaq.com/
2007-12-12 13:34 1502The Oracle FAQ http://www.oraf ... -
oracle 快速参考
2007-12-12 09:58 1103http://www.psoug.org/library.ht ...
相关推荐
### 脏读、不可重复读与幻读详解 #### 一、概念解析 在数据库管理系统(DBMS)中,为了确保数据的一致性和完整性,引入了事务(Transaction)的概念。事务通常具备四个特性:原子性(Atomicity)、一致性(Consistency)、...
并发控制的主要目标是避免事务之间的冲突,防止出现诸如脏读、不可重复读和幻读等问题。 脏读发生在事务T1读取了事务T2还未提交的修改数据,然后T2因为某种原因回滚了更改。在这种情况下,T1读到的数据实际上是错误...
1. 读未提交(Read Uncommitted):允许读取未提交的数据,可能导致脏读、不可重复读、幻读。 2. 读提交(Read Committed):仅能读取已提交的数据,避免脏读,但仍可能遇到不可重复读和幻读。 3. 可重复读...
- 读未提交(Read Uncommitted):最低的隔离级别,允许事务读取尚未提交的数据变更,可能会导致脏读、不可重复读和幻读。 - 读已提交(Read Committed):保证一个事务只能读取已经提交的事务所做的修改,可以防止...
- 可重复读(Repeatable Read):在同一事务内,多次读取相同数据的结果保持一致,防止脏读和不可重复读,但可能存在幻读。 - 串行化(Serializable):最严格的隔离级别,通过锁定所有涉及的行,确保事务按顺序执行...
它通过控制不同事务对共享资源的访问,防止并发操作带来的数据冲突,如丢失更新、脏读、不可重复读和幻觉读等常见问题。 1. 丢失更新:当两个事务同时对同一数据行进行更新时,最后一个更新会覆盖掉第一个事务的...
锁的运用是并发控制的核心,它能够在多用户环境中协调不同事务的操作,防止数据冲突和异常状态的出现,如脏读、不可重复读和幻觉读。 ### 并发控制的重要性 在现代数据库系统中,尤其是像Oracle这样的大型关系型...
不同的隔离级别决定了事务如何处理脏读、不可重复读和幻读等问题。 4. **脏读、不可重复读和幻读**: - 脏读:一个事务读到了另一个未提交事务的数据修改。 - 不可重复读:同一事务中,两次读取同一数据,结果不...
数据库事务与隔离级别 数据库事务是指一系列操作的集合,作为一个单元执行,以维护数据库的一致性和...数据库提供了多种隔离级别以避免这些问题,例如Serializable(串行化)可以避免脏读、不可重复读、幻读的发生。
不可重复读可以通过可重复读(Repeatable Read)隔离级别解决,事务A在整个事务期间都能看到一致性视图,不受其他事务的影响。 4. **幻觉读**:事务A在读取数据后,事务B插入了新的行,导致事务A再次读取时看到“新...
- **定义**:最高级别的隔离级别,确保所有 SQL 操作按顺序执行,彻底解决脏读、不可重复读及幻读等问题。 - **特点**:虽然能保证数据一致性,但性能较低。 ### 幻读 - **定义**:在同一事务下,连续执行相同的 ...
- 序列化(Serializable):最高隔离级别,防止脏读、不可重复读和幻读,但并发性能最低。 在SQL Server中,通过设置事务的隔离级别,可以控制这些并发问题的程度。正确理解和使用事务和锁对于开发高效且可靠的...
- **读未提交(Read Uncommitted)**:最低的隔离级别,允许事务读取未提交的数据,可能会出现脏读、不可重复读和幻读。 - **读已提交(Read Committed)**:只能读取已经提交的数据,可以避免脏读,但仍然可能出现...
* 未提交读(Read Uncommitted):脏读、不可重复读和虚读都有可能发生。 * 已提交读(Read Committed):避免脏读。但是不可重复读和虚读有可能发生。 * 可重复读(Repeatable Read):避免脏读和不可重复读。但是...
并发控制的主要目标是防止多个事务在执行过程中产生冲突,例如丢失更新、脏读、不可重复读和幻读等问题。以下是一些关键知识点: 1. **事务**: 事务是数据库操作的基本单位,具有原子性、一致性、隔离性和持久性...
总结来说,数据库的四种隔离级别分别是读未提交、读已提交、可重复读和串行化,它们分别针对不同的并发问题:脏读、不可重复读和幻读。理解这些隔离级别及其相互关系,对于理解和优化数据库系统的并发行为至关重要。...
它基于事务的ACID(原子性、一致性、隔离性、持久性)特性中的隔离性,旨在防止脏读、不可重复读和幻读等问题的发生。让我们逐一解析这些概念: 1. **脏读**:当一个事务读取了另一个未提交事务修改的数据,如果这...
4. **串行化(Serializable)**:最严格的隔离级别,所有事务按顺序执行,防止脏读、不可重复读和幻读,但可能降低并发性能。 通过`SET TRANSACTION ISOLATION LEVEL`语句可以设置事务隔离级别。 在实际应用中,...