这个问题有点扯,但我搞糊涂了。据我所知,隔离级别之间的区别在于它们是如何管理锁的(http://en.wikipedia.org/wiki/Isolation_(database_systems)。因此,正如文章中提到的,有读锁、写锁和范围锁,但没有定义它们本身是什么。你被允许做什么,不允许做什么。当我在谷歌上搜索它的时候,没有任何具体的东西,相反,我对新的术语感到困惑,比如悲观锁乐观锁,排他性锁,间隙锁等等。如果有人给我一个简短的概述,或许还能给我一堆启迪我的材料,我会很高兴的。
我开始研究隔离级别的最初问题是:
当我的事务隔离级别为READ_COMMITED时,当我有并发插入( web应用程序的不同用户)到一个表中时会发生什么情况。是否锁定了整个表?或者下面发生了什么:)?
提前感谢!
发布于 2013-05-27 03:08:22
这就是我要找的..。
http://en.wikipedia.org/wiki/Two-phase_locking
发布于 2013-05-26 22:38:31
当我的事务隔离级别为READ_COMMITED时,当我有并发插入( web应用程序的不同用户)到一个表中时,
会发生什么情况。
"Read committed“意味着在事务提交之前,其他会话无法看到新插入的行。没有显式事务运行的SQL语句被包装在隐式事务中,因此"read committed“会影响所有插入。
一些数据库使用锁实现“读提交”。例如,可以在插入的行上放置一个读锁,以防止其他tractions读取它。其他数据库,如Oracle,使用multiversion concurrency control。这意味着它们可以在插入之前表示数据库的一个版本。这允许他们在没有锁的情况下实现“读提交”。
发布于 2016-12-15 16:27:02
据我所知,隔离级别将决定如何以及何时获取和释放锁。

参考:http://aboutsqlserver.com/2011/04/28/locking-in-microsoft-sql-server-part-2-locks-and-transaction-isolation-levels/
https://stackoverflow.com/questions/16760105
复制相似问题