亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server 2005使用基于行版本控制的隔離級(jí)別初探(1)

瀏覽:116日期:2023-11-01 09:34:06

最近回歸本行,開始數(shù)據(jù)庫的研究。雖然不是9R2,但是好歹SQLServer的傻瓜式配置也不是浪得虛名,也算混的勉強(qiáng)過關(guān)把。 不過仔細(xì)研究了下2005的行版本控制這塊做的確實(shí)不錯(cuò),下面把我研究的共享,歡迎批判。行版本控制隔離:簡介行版本控制的隔離是SQL Server 2005一個(gè)新的隔離框架。使用行版本控制的隔離可以在大量并發(fā)的情況下,顯著減少所得產(chǎn)生,并且與NoLock相比,它又可以顯著降低骯臟讀,幻影,丟失更新等現(xiàn)象的發(fā)生(READ_COMMITTED_SNAPSHOT) 當(dāng)在基于行版本控制的隔離下運(yùn)行的事務(wù)讀取數(shù)據(jù)時(shí),讀取操作不會(huì)獲取正被讀取的數(shù)據(jù)上的共享鎖(S 鎖),因此不會(huì)阻塞正在修改數(shù)據(jù)的事務(wù)。另外,鎖定資源的開銷隨著所獲取的鎖的數(shù)量的減少降至最低。使用行版本控制的已提交讀隔離和快照隔離可以提供副本數(shù)據(jù)的語句級(jí)或事務(wù)級(jí)讀取一致性。行版本控制隔離:優(yōu)勢(shì)使用行版本控制的隔離級(jí)別具有以下優(yōu)點(diǎn):·讀取操作檢索一致的數(shù)據(jù)庫快照。·SELECT 語句在讀取操作過程中不鎖定數(shù)據(jù)(讀取器不阻塞編寫器,編寫器也不阻塞讀取器)。·SELECT 語句可以在其他事務(wù)更新行時(shí)訪問最后提交的行值,而不阻塞應(yīng)用程序。·死鎖的數(shù)量減少。·事務(wù)所需的鎖的數(shù)量減少,這減少了管理鎖所需的系統(tǒng)開銷。·鎖升級(jí)的次數(shù)減少。行版本控制隔離:原理SQL Server 2005的行版本控制原理上很簡單,就是在庫表中每一行的記錄上都悄悄的增加了一個(gè)類時(shí)間戳列(行版本列)。當(dāng)使用行版本控制的隔離時(shí),SQL Server 2005 Database Engine 向使用行版本控制操作數(shù)據(jù)的每個(gè)事務(wù)分配一個(gè)事務(wù)序列號(hào) (XSN)。事務(wù)在執(zhí)行 BEGIN TRANSACTION 語句時(shí)啟動(dòng)。但是,事務(wù)序列號(hào)在執(zhí)行 BEGIN TRANSACTION 語句后的第一次讀/寫操作時(shí)開始增加。事務(wù)序列號(hào)在每次分配時(shí)都增加 1。當(dāng)事務(wù)執(zhí)行時(shí),SQL Server根據(jù)行版本列,來提供的行的相應(yīng)版本。 而SQLServer將維護(hù)所有在數(shù)據(jù)庫中執(zhí)行的數(shù)據(jù)修改的邏輯副本(版本)。特定的事務(wù)每次修改行時(shí),數(shù)據(jù)庫引擎 實(shí)例都存儲(chǔ)以前提交的 tempdb 中行的圖像版本。每個(gè)版本都標(biāo)記有進(jìn)行此更改的事務(wù)的事務(wù)序列號(hào)。已修改行的版本使用鏈接列表鏈接在一起。最新的行值始終存儲(chǔ)在當(dāng)前的數(shù)據(jù)庫中并鏈接至版本存儲(chǔ)區(qū) tempdb 中存儲(chǔ)的版本。(修改大型對(duì)象 (LOB) 時(shí),只有已更改的片段才會(huì)復(fù)制到 tempdb 中的版本存儲(chǔ)區(qū),; 對(duì)于短期運(yùn)行的事務(wù),已修改行的版本將可能保存在緩沖池中,而不會(huì)寫入 tempdb 數(shù)據(jù)庫的磁盤文件中。如果只是臨時(shí)需要副本行,它將只是簡單地從緩沖池中刪除而不會(huì)引發(fā) I/O 開銷。) MSDN上一再強(qiáng)調(diào)要關(guān)注提升tempdb的地位,不然因?yàn)閠empdb的性能導(dǎo)致整個(gè)數(shù)據(jù)庫性能下降,可就是無妄之災(zāi)了。

行版本控制隔離:種類 行版本控制分為兩種已提交讀快照隔離級(jí)別(READ_COMMITTED_SNAPSHOT)和快照隔離級(jí)別(ALLOW_SNAPSHOT_ISOLATION),他們屬于行版本控制的隔離的范疇,但是實(shí)際上他們卻有方方面面的不同。下面是MSDN對(duì)他們的比較。屬性已提交讀快照隔離級(jí)別快照隔離級(jí)別必須設(shè)置為 ON 以便啟用所需支持的數(shù)據(jù)庫選項(xiàng)。READ_COMMITTED_SNAPSHOTALLOW_SNAPSHOT_ISOLATION會(huì)話如何請(qǐng)求特定類型的行版本控制。使用默認(rèn)的已提交讀隔離級(jí)別,或運(yùn)行 SET TRANSACTION ISOLATION LEVEL 語句來指定 READ COMMITTED 隔離級(jí)別。這可以在事務(wù)啟動(dòng)后完成。需要執(zhí)行 SET TRANSACTION ISOLATION LEVEL 來在事務(wù)啟動(dòng)前指定 SNAPSHOT 隔離級(jí)別。由語句讀取的數(shù)據(jù)的版本。在每條語句啟動(dòng)前提交的所有數(shù)據(jù)。在每個(gè)事務(wù)啟動(dòng)前提交的所有數(shù)據(jù)。如何處理更新。從行版本恢復(fù)到實(shí)際的數(shù)據(jù),以選擇要更新的行并使用選擇的數(shù)據(jù)行上的更新鎖。獲取要修改的實(shí)際數(shù)據(jù)行上的排他鎖。沒有更新沖突檢測。使用行版本選擇要更新的行。嘗試獲取要修改的實(shí)際數(shù)據(jù)行上的排他鎖,如果數(shù)據(jù)已被其他事務(wù)修改,則出現(xiàn)更新沖突,同時(shí)快照事務(wù)也將終止。有更新沖突檢測。無。集成支持。無法禁用。

讀取數(shù)據(jù)時(shí)的行為SNAPSHOT隔離就像真實(shí)的快照,它會(huì)無視涉及行的變化。在SNAPSHOT隔離下運(yùn)行的事務(wù)將讀取數(shù)據(jù),然后由另一事務(wù)修改此數(shù)據(jù)。SNAPSHOT事務(wù)不阻塞由其他事務(wù)執(zhí)行的更新操作,它忽略數(shù)據(jù)的修改繼續(xù)從版本化的行讀取數(shù)據(jù)。但是,當(dāng)快照事務(wù)嘗試修改已由其他事務(wù)修改的數(shù)據(jù)時(shí),SNAPSHOT事務(wù)將生成錯(cuò)誤并終止.READ_COMMITTED_SNAPSHOT類似與以前的READ_COMMITTED隔離級(jí)別,也就是說與快照事務(wù)相同的是,即使其他事務(wù)修改了數(shù)據(jù),已提交讀事務(wù)也將讀取版本化的行。然而,與快照事務(wù)不同的是,已提交讀將執(zhí)行下列操作:·在其他事務(wù)提交數(shù)據(jù)更改后,讀取修改的數(shù)據(jù)。·能夠更新由其他事務(wù)修改的數(shù)據(jù),而快照事務(wù)不能。修改數(shù)據(jù)時(shí)的行為在使用行版本控制的已提交讀事務(wù)中,使用阻塞性掃描(其中讀取數(shù)據(jù)值時(shí)將在數(shù)據(jù)行上采用更新鎖(U 鎖)完成選擇要更新的行。這與不使用行版本控制的已提交讀事務(wù)相同。如果數(shù)據(jù)行不符合更新標(biāo)準(zhǔn),在該行上將釋放更新鎖并且將鎖定下一行并對(duì)其進(jìn)行掃描。在快照隔離下運(yùn)行的事務(wù)對(duì)數(shù)據(jù)修改采用樂觀方法:直到數(shù)據(jù)被修改時(shí)才獲取數(shù)據(jù)上的鎖。不需要獲取鎖就可以選擇要更新的行。當(dāng)數(shù)據(jù)行符合更新標(biāo)準(zhǔn)時(shí),快照事務(wù)將驗(yàn)證未被并發(fā)事務(wù)(在快照事務(wù)開始后提交)修改的數(shù)據(jù)行。如果數(shù)據(jù)行已在快照事務(wù)以外修改,則將出現(xiàn)更新沖突,同時(shí)快照事務(wù)也將終止。更新沖突由數(shù)據(jù)庫引擎 處理,無法禁用更新沖突檢測。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 亚洲一区在线视频 | 伊人亚洲影院 | 1024视频在线 | 粉嫩极品国产在线播放 | 成人欧美日本免费观看 | 国产福利视频一区二区微拍 | 午夜羞羞影院 | 亚洲欧洲日本精品 | 国产精品第一页在线 | 尤蜜视频在线观看播放 | 亚洲欧美日韩中文高清ww | 黄色一及片 | 国产精品自产拍2021在线观看 | 国产成人a毛片 | 国产精品国产国产aⅴ | 在线婷婷| 在线观看网站黄 | 国产一区二三区 | 亚洲国产精品久久久久网站 | 99热成人精品国产免男男 | 91sao在线看片水片 | 美国一级大黄大色毛片视频一 | 一本久道久久综合婷婷五 | 91在线国内在线播放老师 | 一级特黄aa大片欧美 | 亚洲无吗| 亚洲欧洲一二三区机械有限公司 | 国产理论视频在线观看 | 丁香五月亚洲综合在线 | 91短视频在线播放 | 中文字幕日本精品一区二区三区 | 精品五夜婷香蕉国产线看观看 | 久草综合视频 | 国产羞羞的视频在线观看免费 | 国产91精品露脸国语对白 | 日韩在线aⅴ免费视频 | 亚洲成人播放 | 国产99福利视频在线 | 亚州精品视频 | 小泽玛利亚一区二区 | 秀人网艾小青国产精品视频 |