首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sql隔离级别、读写锁

Sql隔离级别、读写锁
EN

Stack Overflow用户
提问于 2013-05-26 22:16:46
回答 3查看 5.1K关注 0票数 3

这个问题有点扯,但我搞糊涂了。据我所知,隔离级别之间的区别在于它们是如何管理锁的(http://en.wikipedia.org/wiki/Isolation_(database_systems)。因此,正如文章中提到的,有读锁、写锁和范围锁,但没有定义它们本身是什么。你被允许做什么,不允许做什么。当我在谷歌上搜索它的时候,没有任何具体的东西,相反,我对新的术语感到困惑,比如悲观锁乐观锁,排他性锁,间隙锁等等。如果有人给我一个简短的概述,或许还能给我一堆启迪我的材料,我会很高兴的。

我开始研究隔离级别的最初问题是:

当我的事务隔离级别为READ_COMMITED时,当我有并发插入( web应用程序的不同用户)到一个表中时会发生什么情况。是否锁定了整个表?或者下面发生了什么:)?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-27 03:08:22

这就是我要找的..。

http://en.wikipedia.org/wiki/Two-phase_locking

票数 -2
EN

Stack Overflow用户

发布于 2013-05-26 22:38:31

当我的事务隔离级别为READ_COMMITED时,当我有并发插入( web应用程序的不同用户)到一个表中时,

会发生什么情况。

"Read committed“意味着在事务提交之前,其他会话无法看到新插入的行。没有显式事务运行的SQL语句被包装在隐式事务中,因此"read committed“会影响所有插入。

一些数据库使用锁实现“读提交”。例如,可以在插入的行上放置一个读锁,以防止其他tractions读取它。其他数据库,如Oracle,使用multiversion concurrency control。这意味着它们可以在插入之前表示数据库的一个版本。这允许他们在没有锁的情况下实现“读提交”。

票数 1
EN

Stack Overflow用户

发布于 2016-12-15 16:27:02

据我所知,隔离级别将决定如何以及何时获取和释放锁。

参考:http://aboutsqlserver.com/2011/04/28/locking-in-microsoft-sql-server-part-2-locks-and-transaction-isolation-levels/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16760105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档