ITPub博客

首页 > 数字化转型 > ERP > Preventable Phenomena and Transaction Isolation Levels (309)

Preventable Phenomena and Transaction Isolation Levels (309)

原创 ERP 作者:tsinglee 时间:2007-12-04 11:33:43 0 删除 编辑

The ANSI/ISO SQL standard (SQL92) defines four levels of transaction isolation with
differing degrees of impact on transaction processing throughput. These isolation
levels are defined in terms of three phenomena that must be prevented between
concurrently executing transactions.

The three preventable phenomena are:
■ Dirty reads: A transaction reads data that has been written by another transaction
that has not been committed yet.
■ Nonrepeatable (fuzzy) reads: A transaction rereads data it has previously read and
finds that another committed transaction has modified or deleted the data.
■ Phantom reads (or phantoms): A transaction re-runs 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.

Oracle offers the read committed and serializable isolation levels, as well as a
read-only mode that is not part of SQL92. Read committed is the default.

需预防的现象和事务隔离级别
1. 在并发执行的事务中要阻止这三种现象 :
a. 脏读取 : 一个事务读取了被其他事务写入但还未提交的数据
b. 不可重复读取 : 一个事务再次读取其之前曾经读取过的数据时,发现数据已被其他已提交的事务修改或删除
c. 幻象读取 : 事务按照之前的条件重新查询时,返回的结果集中包含其他已提交事务插入的满足条件的新数据
2. Oracle 支持三种事务隔离级别:已提交读取,串行化,以及 SQL92 中没有包含的只读模式.
已提交读取是 Oracle 默认使用的事务隔离级别

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10599713/viewspace-988272/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    740
  • 访问量
    1892723