SET Transaction Isolation Level Read語法的四種情況


 

存儲過程:SET Transaction Isolation Level Read語法的四種情況

這幾天一直在弄存儲過程,現在在這里跟大伙共享下資料:

SET Transaction Isolation Level Read UNCOMMITTED

使用這句東東呢可以分為四種情況,現在就在這里逐一介紹:

第一種情況:

READ   COMMITTED

這句的作用是:

指定在讀取數據時控制共享鎖以避免臟讀,但數據可在事務結束前更改,從而產生不可重復讀取或幻像數據。該選項是   SQL   Server   的默認值。

第二種情況:

 READ   UNCOMMITTED

這句的作用是:

執行臟讀或0級隔離鎖定,這表示不發出共享鎖,也不接受排它鎖。當設置該選項時,可以對數據執行未提交讀或臟讀;在事務結束前可以更改數據內的數值,行也可以出現在數據集中或從數據集消失。該選項的作用與在事務內所有語句中的所有表上設置 NOLOCK 相同。這是四個隔離級別中限制最小的級別。

第三種情況:

REPEATABLE   READ

這句的作用是:

鎖定查詢中使用的所有數據以防止其他用戶更新數據,但是其他用戶可以將新的幻像行插入數據集,且幻像行包括在當前事務的后續讀取中。因為並發低於默認隔離級別,所以應只在必要時才使用該選項。

第四種情況:

SERIALIZABLE

這句的作用是:

 在數據集上放置一個范圍鎖,以防止其他用戶在事務完成之前更新數據集或將行插入數據集內。這是四個隔離級別中限制最大的級別。因為並發級別較低,所以應只在必要時才使用該選項。該選項的作用與在事務內所有   SELECT   語句中的所有表上設置   HOLDLOCK   相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM