1. 首页>
  2. 技术文章>
  3. MSSQL事务ReadCommit和ReadUnCommitted

MSSQL事务ReadCommit和ReadUnCommitted

12/2/17 10:00:25 AM 浏览 1547 评论 0

MSSQL 事务

简单来说:

ReadCommitted:只读已提交的数据,遇到未提交的事务型数据时,则一直等待。
ReadUnCommitted:可以读未提交的数据。

做个简单的测试,使用Read Committed,先开一个事务,并等待10秒,代码如下:

SET TRANSACTION ISOLATION LEVEL read COMMITTED;
BEGIN TRAN ;
	PRINT '开始'
	SELECT * FROM dbo.article
	
	INSERT INTO dbo.article
	        ( title, content )
	VALUES  ( N'8', -- title - nvarchar(50)
	          N''  -- content - nchar(10)
	          )
	waitfor delay '00:00:10' --等待10秒

	COMMIT TRAN;

然后继续用Read Commit开另一个事务,执行上面相同的代码,但移除等待10秒的代码,发现执行查询一直处于加载中,直到前面的执行好了,才执行成功;而将上面代码换成Read UnCommitted,则可以马上执行成功;

网友讨论