国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server誤區(qū)30日談 第23天 有關(guān)鎖升級的誤區(qū)

2024-08-31 00:56:52
字體:
供稿:網(wǎng)友
誤區(qū) #23: 鎖升級的過程是由行鎖升級到頁鎖,再由頁鎖升級到表鎖
錯誤
實際不是,在SQL Server 2005和之前的版本,頁鎖會直接升級到表鎖。
在SQL Server 2005或SQL Server 2008,你可以通過如下跟蹤標志改變鎖升級的行為:

標志1211-完全禁止鎖升級,但鎖使用的內(nèi)存會被限制在動態(tài)分配內(nèi)存的60%,當(dāng)超過這個值時,更多的鎖將會伴隨著內(nèi)存溢出錯誤而失敗。
  • 標志1224-禁止鎖升級,但內(nèi)存使用超過40%時,會自動開啟鎖升級
  • 如果標志1211和1224跟蹤標志同時被設(shè)置了,只有標志1211會生效。更詳細的內(nèi)容請看Books Online。

    在SQL Server 2008中,還可以以表為單位進行鎖行為的設(shè)置,可以通過ALTER TABLE blah SET (LOCK_ESCALATION = XXX),在這個命令中XXX所代表的是下面幾項中的一項:

    TABLE: 直接從行鎖升級到表鎖。

  • AUTO:如果存在表分區(qū),則升級為分區(qū)鎖,但不會進一步升級。

  • DISABLE:禁用鎖升級,這并不意味著禁用表鎖,就像BOL(Books Online entry)中所說,在序列化隔離等級的條件下進行表掃描等操作時還需要表鎖。

    在2008年1月的時候,我寫了一篇包含分區(qū)鎖例子的博文,請看:SQL Server 2008: Partition-level lock escalation details and examples。
    或許你會想為什么LOCK_ESCALATION = XXX設(shè)置中AUTO不是默認值,這時因為早期測試中某些人發(fā)現(xiàn)這個選項更容易引起死鎖。就像對于上述兩個有關(guān)鎖的跟蹤標記一樣,對于這個選項設(shè)置為AUTO也同樣需要謹慎。
  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 滦平县| 溧阳市| 万盛区| 菏泽市| 黄浦区| 武冈市| 金川县| 西乡县| 乌拉特中旗| 乌鲁木齐县| 德江县| 开阳县| 疏附县| 富顺县| 天水市| 东安县| 青海省| 乡城县| 酉阳| 庆阳市| 昭通市| 汾阳市| 澄迈县| 洛扎县| 突泉县| 张家界市| 松原市| 金湖县| 兴宁市| 蒲江县| 得荣县| 丰原市| 高淳县| 金坛市| 新疆| 体育| 赤壁市| 老河口市| 泸定县| 大埔县| 赤壁市|