标签: isolation-level

读取提交和可重复读取之间的区别

我认为上述隔离级别非常相似.有人可以用一些很好的例子来描述主要区别是什么?

sql sql-server isolation-level

223
推荐指数
6
解决办法
11万
查看次数

为什么使用READ UNCOMMITTED隔离级别?

用简单的英语,使用的缺点和优点是什么

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
Run Code Online (Sandbox Code Playgroud)

在查询.NET应用程序和报告服务应用程序?

t-sql sql-server isolation-level

215
推荐指数
7
解决办法
27万
查看次数

147
推荐指数
5
解决办法
11万
查看次数

不可重复读和幻像读有什么区别?

不可重复读和幻读之间有什么区别?

我已经阅读了维基百科隔离(数据库系统)文章,但我有一些疑问.在下面的例子中,会发生什么:不可重复的读取幻像读取

交易A.
SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1
Run Code Online (Sandbox Code Playgroud) OUTPUT:
1----MIKE------29019892---------5000
Run Code Online (Sandbox Code Playgroud) 交易B.
UPDATE USERS SET amount=amount+5000 where ID=1 AND accountno=29019892;
COMMIT;
Run Code Online (Sandbox Code Playgroud) 交易A.
SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1
Run Code Online (Sandbox Code Playgroud)

另一个疑问是,在上面的例子中,应该使用哪个隔离级别?为什么?

database oracle transactions transaction-isolation isolation-level

137
推荐指数
7
解决办法
8万
查看次数

如何检测READ_COMMITTED_SNAPSHOT已启用?

在MS SQL Server中,有一种方法可以检测数据库是否通过T-SQL命令设置了隔离级别 ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;

我无法在T-SQL或Management Studio的GUI中找到一种简单的方法来检测它.

TIA

sql-server isolation-level read-committed-snapshot

123
推荐指数
2
解决办法
10万
查看次数

事务隔离级别与表上的锁相关

我读过大约4级隔离:

Isolation Level       Dirty Read    Nonrepeatable Read  Phantom Read  
READ UNCOMMITTED      Permitted       Permitted           Permitted
READ COMMITTED              --        Permitted           Permitted
REPEATABLE READ             --             --             Permitted
SERIALIZABLE                --             --              --
Run Code Online (Sandbox Code Playgroud)

我想了解每个事务隔离对表的锁定

READ UNCOMMITTED - no lock on table
READ COMMITTED - lock on committed data
REPEATABLE READ - lock on block of sql(which is selected by using select query)
SERIALIZABLE - lock on full table(on which Select query is fired)
Run Code Online (Sandbox Code Playgroud)

下面是事务隔离中可能发生的三种现象
Dirty Read - no lock
Nonrepeatable Read - 没有脏读作为锁定提交数据
Phantom …

java transactions isolation-level

96
推荐指数
3
解决办法
9万
查看次数

SET READ_COMMITTED_SNAPSHOT ON需要多长时间?

运行需要多长时间

ALTER DATABASE [MySite] SET READ_COMMITTED_SNAPSHOT ON
Run Code Online (Sandbox Code Playgroud)

我跑了它,花了10分钟.

如何检查是否已应用?

sql-server isolation-level read-committed-snapshot

73
推荐指数
5
解决办法
8万
查看次数

读取已提交的快照VS快照隔离级别

有人可以帮我理解何时在SQL Server中使用SNAPSHOT隔离级别而不是READ COMMITTED SNAPSHOT?

据我所知,在大多数情况下,READ COMMITTED SNAPSHOT可以正常工作,但不确定何时进行SNAPSHOT隔离.

谢谢

sql-server snapshot isolation-level read-committed-snapshot

68
推荐指数
3
解决办法
5万
查看次数

为什么System.Transactions TransactionScope默认为Isolationlevel Serializable

我只是想知道使用Serializable作为默认Isolationlevel的一个很好的理由可能是在创建System.Transactions TransactionScope时,因为我想不出任何(并且似乎你不能改变默认值,web/app.config所以你总是要设置它你的代码)

using(var transaction = TransactionScope()) 
{
    ... //creates a Transaction with Serializable Level
}
Run Code Online (Sandbox Code Playgroud)

相反,我总是要写这样的样板代码:

var txOptions = new System.Transactions.TransactionOptions();
txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;

using(var transaction = new TransactionScope(TransactionScopeOption.Required, txOptions)) 
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# transactionscope isolation-level

67
推荐指数
3
解决办法
4万
查看次数

交易隔离级别范围

SQL Server 2005中事务隔离级别的作用域规则是什么?我知道不同级别的含义,但不知道如何在手动运行的脚本之外正确应用它们.我找不到生产质量代码中实际使用的指南.

显然,当你使用这样的命令时,范围就开始了:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
Run Code Online (Sandbox Code Playgroud)

但它在哪里结束?如果我在存储过程中设置iso级别然后该proc调用另一个,嵌套的proc是否继承它?更好的是,如果我升级嵌套proc中的iso级别,它是否会进入调用proc?像BEGIN TRAN,ROLLBACK和COMMIT这样的事务命令会有什么不同吗?

当应用程序或代理程序作业调用存储过程时,隔离级别更改是否会以某种方式持续存在?我是否总是必须在每个过程结束时恢复默认的READ COMMITTED?

我会在不同的情况下测试它,但我不知道如何读取当前隔离级别设置的内容.

t-sql sql-server sql-server-2005 isolation-level

40
推荐指数
3
解决办法
1万
查看次数