多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 數(shù)據(jù)庫 > Sqlserver > SQL Server 2008 多版本并發(fā)控制

SQL Server 2008 多版本并發(fā)控制

來源:程序員人生   發(fā)布時間:2013-10-07 22:15:48 閱讀次數(shù):2904次

  數(shù)據(jù)庫的一致性,也是衡量DBMS性能的重要指標之一。目前大多數(shù)商業(yè)數(shù)據(jù)庫(DB2, SQL Server)的并發(fā)控制采用的是兩階段鎖(Two-Phase Locking,2PL)協(xié)議,2PL保證了并發(fā)事務執(zhí)行的可串行化。但2PL在對任何數(shù)據(jù)進行讀、寫操作之前,需要對該數(shù)據(jù)加鎖。在封鎖相容矩陣中,S鎖(Share Locks,共享鎖)和X鎖(Exclusive Locks,排它鎖)是不相容的,因此當事務1正對數(shù)據(jù)A進行讀操作(加S鎖)時,事務2想要對數(shù)據(jù)進行寫操作(加X鎖),那么事務2必須等待事務1釋放數(shù)據(jù)A上的S鎖,才能繼續(xù)執(zhí)行。多版本并發(fā)控制(Multi-Version Concurrency Control,MVCC)較好地解決了這一問題。在多版本的系統(tǒng)中,每一次寫數(shù)據(jù)均產(chǎn)生一個新的版本,讀操作可以根據(jù)需要讀取合適的版本,因此讀寫操作互不阻塞。MVCC雖然提高了并發(fā)度,但也帶來了維護多個版本的存儲開銷。

網(wǎng) www.wfuwu.com

  Microsoft SQL Server 數(shù)據(jù)庫引擎引入了現(xiàn)有事務隔離級別的一種新的實現(xiàn)方式 - 已提交讀,用于提供使用行版本控制的語句級快照。SQL Server 數(shù)據(jù)庫引擎還引入了一個新的事務隔離級別 - 快照,用于提供也使用行版本控制的事務級快照。

  將 READ_COMMITTED_SNAPSHOT 數(shù)據(jù)庫選項設置為 ON 可啟用使用行版本控制的已提交讀隔離。將 ALLOW_SNAPSHOT_ISOLATION 數(shù)據(jù)庫選項設置為 ON 可啟用快照隔離。為數(shù)據(jù)庫啟用任一選項時,數(shù)據(jù)庫引擎都將保持被修改的每一行的版本。每當某個事務修改行時,修改前的該行圖像將被復制到版本存儲區(qū)的一頁中。版本存儲區(qū)是 tempdb 中的數(shù)據(jù)頁集合。如果有多個事務修改行,則該行的多個版本將被鏈接到一個版本鏈中。使用行版本控制的讀操作將檢索每一行在事務或語句啟動時已提交的最后一個版本。

  為 SQL Server 2008編寫的或 SQL Server 中新增的應用程序,通過在 READ_COMMITTED_SNAPSHOT 數(shù)據(jù)庫選項為 ON 時指定讀提交的事務隔離級別,來實現(xiàn)使用行版本控制的讀提交的隔離。所有讀操作都將查看語句啟動時已提交的行版本。這將提供數(shù)據(jù)的語句級快照。

  為 SQL Server 編寫的應用程序將通過在 ALLOW_SNAPSHOT_ISOLATION 數(shù)據(jù)庫選項為 ON 時指定快照事務隔離級別,來實現(xiàn)快照隔離。快照事務中的所有讀操作都將查看事務啟動時已提交的行版本。這將提供數(shù)據(jù)的事務級快照。

  對于使用基于行版本控制的隔離級別的事務,讀操作不對數(shù)據(jù)請求共享鎖。這意味著使用行版本控制的讀取器不會妨礙其他讀取器或編寫器訪問同一數(shù)據(jù)。同理,編寫器也不會妨礙讀取器。但是,編寫器會互相妨礙(即使是在基于行版本控制的隔離級別下運行)。兩個寫操作不能同時修改同一數(shù)據(jù)。

  “快照隔離”功能擴展了 SQL Server 2008 中的鎖定框架,它使應用程序能夠在發(fā)生任何數(shù)據(jù)修改之前查看值。這可防止應用程序被鎖定,同時仍將提供真正已提交的數(shù)據(jù)。SQL Server 2008 的 Read Committed Snapshot 需要數(shù)據(jù)庫管理員來激活,允許數(shù)據(jù)被只讀事務讀取。所以 SI 對只讀事務的并發(fā)控制效果是很好的,但是對更新事務是否也這樣不得而知。對長時間運行的更新事務來說更為不利于與短期的高競爭性事務。如果跨數(shù)據(jù)庫的事務試圖使用 快照隔離(SI)標準 ,而不是所有數(shù)據(jù)庫都設定的話,則該事務會失敗。這無疑給可擴展性帶來一定的障礙。看來微軟要實現(xiàn)自己的比 SQL 92 規(guī)范還要強的 SI 還有很多路要走。

  參考資料:

  鎖定和行版本控制: http://technet.microsoft.com/zh-cn/library/ms187101.aspx

  分析及解決SQLServer死鎖問題:http://www.wfuwu.com/a/view/8307.html

  作者: 自由、創(chuàng)新、研究、探索……
  出處:http://shanyou.cnblogs.com/

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 91精品国产美女福到在线不卡 | 涩涩片影院 | 日韩欧美一区二区三区 | 成人精品一区二区三区 | 久久久精品3d动漫一区二区三区 | 亚洲精品乱码久久久久久v 亚洲精品乱码久久久久久蜜桃 | www.亚洲天堂 | 香蕉成人啪国产精品视频综合网 | 国产在线91区精品 | 中国国产成人精品久久 | 高清欧美性xxxx成熟 | 亚洲精品 国产 日韩 | 国产一区自拍视频 | 91成人福利 | 成人一区专区在线观看 | 中文字幕第10页 | 久久久久久久99视频 | 乱人伦精品一区二区 | 俺来也俺去啦久久综合网 | 国内精品久久久久影院不卡 | 国产成人爱片免费观看视频 | 久久久久国产精品免费免费不卡 | 精品毛片| 91亚洲精品久久91综合 | 成人亚洲视频在线观看 | 欧美黑人性受xxxx精品 | 欧美亚洲国产视频 | 国产久视频观看 | 欧美老人巨大xxxx做受视频 | 日本r级在线中文在线播放 日本vs黑人hd | 久久精品看片 | xxxx tube hd人妖| 亚洲精品老司机在线观看 | 成人性生免费视频 | 久久久久久久国产a∨ | 男女男精品视频在线观看 | 亚洲日韩色图 | 欧美一区二区视频在线观看 | 欧美巨大xxxx做受孕妇视频 | 日本不卡高清中文字幕免费 | 欧美人善交|