汤姆提供了一个很好的答案:
On Transaction Isolation Levels
他说:
The READ UNCOMMITTED
isolation level allows dirty reads.
Oracle Database doesn’t use dirty
reads,nor does it even allow them.
The basic goal of a READ UNCOMMITTED
isolation level is to provide a
standards-based definition that allows
for nonblocking reads.
…
Now,a database that allowed a dirty
read … not only does it return the
wrong answer,but also it returns … [an answer] … that never existed in the table.
In a multiuser database,a dirty read
can be a dangerous feature.
Personally,I’ve never seen the
usefulness of it…The point here is that dirty read is not a feature; rather,it’s a liability. In Oracle Database,it’s just not needed. You get all of the advantages of a dirty read—no blocking—without any of the incorrect results.