欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > SQL2008中SQL應用之-鎖定(locking) 應用分析

SQL2008中SQL應用之-鎖定(locking) 應用分析

熱門標簽:海南自動外呼系統(tǒng)價格 舞鋼市地圖標注app 沈陽智能外呼系統(tǒng)代理 九鹿林外呼系統(tǒng)怎么收費 電銷機器人虛擬號碼 創(chuàng)業(yè)電銷機器人 浙江地圖標注 松原導航地圖標注 滄州營銷外呼系統(tǒng)軟件

一、鎖的基本概念:

鎖定(Locking)是一個關系型數(shù)據(jù)庫系統(tǒng)的常規(guī)和必要的一部分,它防止對相同數(shù)據(jù)作 并發(fā)更新 或在更新過程中查看數(shù)據(jù), 從而保證被更新數(shù)據(jù)的完整性它也能防止用戶讀取正在被修改的數(shù)據(jù) 。Sql Server動態(tài)地管理鎖定,然而,還是很有必要 了解Transact- SQL查詢如何影響SQL Server中的。在此,簡單介紹下鎖的基本常識。

鎖定有助于防止并發(fā)問題的發(fā)生。當一個用戶試圖讀取另一個用戶正在修改的數(shù)據(jù),或者修改另一個用戶正在讀取的數(shù)據(jù)時,或者嘗試修改另一個事務正在嘗試修改的數(shù)據(jù)時,就會出現(xiàn)并發(fā)問題。

SQL Server資源會被鎖定,資源的鎖定方式稱作它的鎖定模式(lock mode),下表列出SQL Server處理的主要鎖定模式:

名稱

描述

共享 (S) 用于不更改或不更新數(shù)據(jù)的讀取操作,如 SELECT 語句。
更新 (U) 用于可更新的資源中。 防止當多個會話在讀取、鎖定以及隨后可能進行的資源更新時發(fā)生常見形式的死鎖。
排他 (X) 用于數(shù)據(jù)修改操作,例如 INSERT、UPDATE 或 DELETE。 確保不會同時對同一資源進行多重更新。
意向 用于建立鎖的層次結構。 意向鎖包含三種類型:意向共享 (IS)、意向排他 (IX) 和意向排他共享 (SIX)。
架構 在執(zhí)行依賴于表架構的操作時使用。 架構鎖包含兩種類型:架構修改 (Sch-M) 和架構穩(wěn)定性 (Sch-S)。
大容量更新 (BU) 在向表進行大容量數(shù)據(jù)復制且指定了 TABLOCK 提示時使用。
鍵范圍 當使用可序列化事務隔離級別時保護查詢讀取的行的范圍。 確保再次運行查詢時其他事務無法插入符合可序列化事務的查詢的行。

可以鎖定SQL Server中的各種對象,既可以是一個行,也可以是一個表或數(shù)據(jù)庫??梢枣i定的資源在粒度(granularity)上差異很大。從細(行)到粗(數(shù)據(jù)庫)。細粒度鎖允許更大的數(shù)據(jù)庫并發(fā),因為用戶能對某些未鎖定的行執(zhí)行查詢。然而,每個由SQL Server產(chǎn)生的鎖都需要內存,所以數(shù)以千計獨立的行級別的鎖也會影響SQL Server的性能。粗粒度的鎖降低了并發(fā)性,但消耗的資源也較少。下表介紹SQL Server可以鎖定的資源:

資源

說明

KEY 索引中用于保護可序列化事務中的鍵范圍的行鎖。
PAGE 數(shù)據(jù)庫中的 8 KB 頁,例如數(shù)據(jù)頁或索引頁。
EXTENT 一組連續(xù)的八頁,例如數(shù)據(jù)頁或索引頁。
HoBT 堆或 B 樹。 用于保護沒有聚集索引的表中的 B 樹(索引)或堆數(shù)據(jù)頁的鎖。
TABLE 包括所有數(shù)據(jù)和索引的整個表。
FILE 數(shù)據(jù)庫文件。
RID 用于鎖定堆中的單個行的行標識符。
APPLICATION 應用程序專用的資源。
METADATA 元數(shù)據(jù)鎖。
ALLOCATION_UNIT 分配單元。
DATABASE 整個數(shù)據(jù)庫。

不是所有的鎖都能彼此兼容。例如,一個被排他鎖鎖定的資源不能被再加其他鎖。其他事務必須等待或超時,直到排他鎖被釋放。被更新鎖鎖定的資源只能接受其他事務的共享鎖。被共享鎖鎖定的資源還能接受其他的共享鎖或更新鎖。

SQL Server自動分配和升級鎖。升級意味著細粒度的鎖(行或頁鎖)被轉化為粗粒度的表鎖。當單個T-SQL語句在單個表或索引上獲取5000多個鎖,或者SQL Server實例中的鎖數(shù)量超過可用內存閾值時,SQL Server會嘗試啟動鎖升級。鎖占用系統(tǒng)內存,因此把很多鎖轉化為一個較大的鎖能釋放內存資源。然而,在釋放內存資源的同時會降低并發(fā)性。

SQL Server 2008帶來了新的表選項,可以禁用鎖升級或在分區(qū)(而不是表)范圍啟用鎖升級。


二、查看鎖的活動

下面演示一個實例,它使用sys.dm_tran_locks動態(tài)視圖監(jiān)視數(shù)據(jù)庫中鎖的活動。

打開一個查詢窗口,執(zhí)行如下語句:

復制代碼 代碼如下:

USE AdventureWorks
BEGIN TRAN
SELECT ProductID, ModifiedDate
FROM Production.ProductDocument
WITH (TABLOCKX)

打開另一個查詢窗口,執(zhí)行:
復制代碼 代碼如下:

SELECT request_session_id sessionid,
resource_type type,
resource_database_id dbid,
OBJECT_NAME(resource_associated_entity_id, resource_database_id) objectname,
request_mode rmode,
request_status rstatus
FROM sys.dm_tran_locks
WHERE resource_type IN ('DATABASE', 'OBJECT')

執(zhí)行結果:
復制代碼 代碼如下:

/*
sessionid type dbid objectname rmode rstatus
51 DATABASE 4 NULL S GRANT
52 DATABASE 4 NULL S GRANT
53 DATABASE 8 NULL S GRANT
56 DATABASE 8 NULL S GRANT
53 OBJECT 8 ProductDocument X GRANT
*/

解析:本示例中,我們首先啟動了一個新事務,并使用TABLOCKX鎖提示(這個提示對表放置了排他鎖),對Production.ProductDocument表執(zhí)行了一個查詢。查詢sys.dm_tran_locks動態(tài)管理視力可以監(jiān)視當前SQL Server實例中打開了哪些鎖。它返回了AdventureWorks數(shù)據(jù)庫中活動鎖的列表。可以在結果中的最后一行看到ProductDocument表上的排他鎖。

前三列定義了會話鎖、資源類型和數(shù)據(jù)庫ID。第四列使用了Object_Name函數(shù),注意它使用了兩個參數(shù)(對象ID和數(shù)據(jù)庫ID)來指定訪問哪個名稱(第二個參數(shù)是SQL Server 2005 SP2引入的,它用來指定為了轉換對象名稱而使用哪個數(shù)據(jù)庫)。同時也查詢鎖定請求模式和狀態(tài),最后,F(xiàn)rom子句引用DMV,用Where子句指定了兩個資源類型。Resource_Type指定了鎖定的資源類型,如Database\Object\File\Page\Key\RID\Extent\Metadata\Application\Allocation_Unit或HOBT類型。依賴資源類型的resource_associated_entity_id,確定ID是object ID, allocation unit ID, 或Hobt ID。

如果resource_associated_entity_id列包含Object ID(資源類型為Object),可以使用sys.objects目錄視圖來轉換名稱。

如果resource_associated_entity_id列包含allocation unit ID(資源類型為Allocation_Unit),可以引用sys.allocatiion_units和contain_id聯(lián)結到sys.partitions上,就可以確定object ID。

如果resource_associated_entity_id列包含Hobt ID(資源類型為Key\page\Row或HOBT),可以直接引用sys.partitions,然后查找相應的Object ID。

對于Database、Extent、 Application或MetaData的資源類型,resource_associated_entity_id列將為0。

使用sys.dm_tran_locks能對無法預料的并發(fā)問題進行故障調試。例如,一個查詢會話占用鎖的時間可能比預期時間長而被鎖,或者鎖的粒度或鎖模式不是我們所期望的(可能是希望使用表鎖而不是更小粒度的行鎖或頁鎖)。理解鎖處于的鎖定級別有助于我們更有效地對查詢的并發(fā)問題進行故障調試。


三、控制表的鎖升級行為

每個在SQL Server中創(chuàng)建的鎖都會消耗內存資源。當鎖的數(shù)量增加時,內存就會減少。如果鎖的內存使用百分比超過一個特定閾值,SQL Server會將細粒度鎖(頁或行)轉換為粗粒度鎖(表鎖)。這個過程稱為鎖升級。鎖升級可以減少SQL Server實例占有的鎖數(shù)量,減少鎖內存的使用。

雖然細粒度會消耗更多的內存,但由于多個查詢可以訪問未鎖定的行,因此也會改善并發(fā)性。引入表鎖可能會減少內存的消耗,但也會帶來阻塞,這是因為一條查詢鎖住了整個表。根據(jù)使用數(shù)據(jù)庫的應用程序,這個行為可能是不希望發(fā)生的,而且你可能希望當SQL Server實施鎖升級時盡量獲得更多的控制。

SQL Server 2008引入了使用ALter table命令在表級別控制鎖升級的功能?,F(xiàn)在可以從如下3個設置中選擇:

Table 這是SQL Server 2005中使用的默認行為。當設置為該值時,在表級別啟用了鎖升級,不論是否為分區(qū)表。

Auto 如果表已分區(qū),則在分區(qū)級別(堆或B樹)啟用鎖升級。如果表未分區(qū),鎖升級將發(fā)生在表級別上。

Disable 在表級別刪除鎖升級。注意,對于用了TABLOCK 提示或使用可序列化隔離級別下Heap的查詢時,你仍然可能看到表鎖。

下面示例演示了修改表的新設置:

復制代碼 代碼如下:

ALTER TABLE Person.Address
SET (LOCK_ESCALATION = AUTO)
--注意這句在SQL Server 2005下會出錯
SELECT lock_escalation,lock_escalation_desc
FROM sys.tables
WHERE name='Address'

/*
lock_escalation lock_escalation_desc
2 AUTO
*/

下來,我們禁用鎖升級:
復制代碼 代碼如下:

ALTER TABLE Person.Address
SET ( LOCK_ESCALATION = DISABLE)
SELECT lock_escalation,lock_escalation_desc
FROM sys.tables
WHERE name='Address'

/*
lock_escalation lock_escalation_desc
1 DISABLE
*/

說明:在更改了這個配置后,可以通過查詢sys.tables目錄視圖的lock_escalation_desc列來驗證這個選項。

注意:如果表未分區(qū),通常情況為表級別升級。如果你指定了Disable選項,將不會出現(xiàn)表級別的鎖升級。這會提高并發(fā)性,但如果你請求訪問大量的行或頁,會增加內存的消耗。
邀月 來自 http://www.cnblogs.com/downmoon

標簽:咸寧 臺灣 西藏 日喀則 海口 公主嶺 商洛 寶雞

巨人網(wǎng)絡通訊聲明:本文標題《SQL2008中SQL應用之-鎖定(locking) 應用分析》,本文關鍵詞  SQL2008,中,SQL,應,用之,鎖定,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL2008中SQL應用之-鎖定(locking) 應用分析》相關的同類信息!
  • 本頁收集關于SQL2008中SQL應用之-鎖定(locking) 應用分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日本一区二区三区高清不卡 | 中文在线一区二区| 亚洲bt欧美bt精品777| 成人免费的视频| 美女脱光内衣内裤| 91 com成人网| 亚洲国产sm捆绑调教视频| 99精品一区二区三区| 国产成人自拍网站| 久久噜噜亚洲综合| 蜜桃av噜噜一区| 日韩av一二区| 日韩三级中文字幕| 日韩激情视频在线观看| 久久福利小视频| 欧美一区二区三区在线看| 自拍偷拍亚洲激情| 成人av在线资源| 国产精品丝袜一区二区| 国产精品久久777777| 国产成人小视频| 182在线观看视频| 久久精品视频一区二区| 国产成人小视频| 在线免费观看视频一区| 亚洲最新在线观看| 亚洲国产综合视频| 欧美精品一区二区三区在线 | 欧美日韩精品免费观看视频 | 亚洲国产成人av网| 免费a级黄色片| 国产亚洲一区二区三区四区| 国产馆精品极品| 91黄视频在线| 日韩中文字幕麻豆| 91麻豆精品国产91久久综合| 国产精品日韩精品欧美在线| 熟妇无码乱子成人精品| 欧美一级片免费看| 国产精品亚洲一区二区三区在线| a级片在线观看免费| 亚洲国产精品影院| 色欲狠狠躁天天躁无码中文字幕 | 久久网这里都是精品| 国产白丝网站精品污在线入口| 一本久道久久综合中文字幕 | 丰满少妇久久久久久久| 欧美日韩在线三区| 捆绑紧缚一区二区三区视频| 国产免费一区二区三区四区| 亚洲影视在线播放| 男人操女人动态图| 亚洲天堂a在线| 久久午夜夜伦鲁鲁片| 亚洲国产精品v| 中文字幕第3页| 欧美国产精品中文字幕| 国产欧美视频一区| 久久久久国产精品厨房| 女王人厕视频2ⅴk| 久久先锋资源网| 欧美人与性动交α欧美精品| 26uuu亚洲综合色欧美| 91丨porny丨最新| 精品福利视频一区二区三区| 99精品黄色片免费大全| 亚洲精品一线二线三线无人区| 91在线观看地址| 久久久久国产成人精品亚洲午夜| 中文字幕亚洲日本| 国产午夜一区二区三区| 秘密基地免费观看完整版中文 | 在线观看免费一区| 精品无人码麻豆乱码1区2区| 欧美三级日韩在线| 国产盗摄视频一区二区三区| 欧美一区二区三区视频免费播放| 日韩一二三四区| 91亚洲男人天堂| 久久久久一区二区三区四区| 国产亚洲精品成人a| 国产精品久久久久久久久快鸭 | 国产精品suv一区二区88| 亚洲成人www| 9.1人成人免费视频网站| 久久99国产精品免费| 欧美日韩在线播放一区| 国产精品69毛片高清亚洲| 91麻豆精品91久久久久久清纯 | 国产精品综合一区二区三区| 欧美老肥妇做.爰bbww| 国产91丝袜在线18| 2021中文字幕一区亚洲| 国产一级伦理片| 亚洲专区一二三| 国产精品三区在线观看| 国产精品综合一区二区三区| 日韩欧美一级片| 黄色国产在线视频| 一区二区视频在线| 91成人福利视频| 国产高清在线精品| 久久精品一区四区| 成人精品999| 青青青爽久久午夜综合久久午夜| 欧美日韩一级黄| 91免费看片在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美午夜不卡视频| caoporen国产精品视频| 国产精品免费人成网站| 激情无码人妻又粗又大| 久久成人免费电影| 精品国产电影一区二区| 91精品人妻一区二区三区蜜桃欧美 | 亚洲精品一区二区三区在线观看 | 依依成人精品视频| 色偷偷成人一区二区三区91 | 91国偷自产一区二区使用方法| 成人在线一区二区三区| 日本一区二区视频在线| 又色又爽的视频| 国产一区二区三区精品视频| 久久伊人蜜桃av一区二区| 少妇精品无码一区二区免费视频| 另类人妖一区二区av| 精品蜜桃在线看| 自拍偷拍视频亚洲| 国产在线精品一区二区不卡了| 久久久三级国产网站| 18啪啪污污免费网站| 粉嫩aⅴ一区二区三区四区| 国产精品高潮呻吟| 色综合久久久久久久久久久| 99精品久久免费看蜜臀剧情介绍| 亚洲精品午夜久久久| 欧美日韩国产天堂| 手机在线看片日韩| 久久电影网电视剧免费观看| 久久久久9999亚洲精品| 日本少妇aaa| av日韩在线网站| 夜夜精品视频一区二区| 欧美一区二区私人影院日本| 久久久久亚洲av无码专区桃色| 国内成人免费视频| 国产精品麻豆视频| 欧美特级限制片免费在线观看| 精品人妻一区二区免费| 免费欧美在线视频| 国产亚洲综合色| 色综合色综合色综合| 不卡的一区二区| 男男成人高潮片免费网站| 国产亚洲精品7777| 色婷婷av一区二区三区软件 | 亚洲视频免费观看| 9191久久久久久久久久久| 91成人在线免费视频| 成人网页在线观看| 午夜影院久久久| 久久只精品国产| 五月婷婷一区二区三区| 欧美双性人妖o0| 国产精品综合一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 欧美一区欧美二区| 亚洲女人毛茸茸高潮| 国模大尺度视频| 久久97超碰色| 亚洲视频你懂的| av无码一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 日韩久久一区二区| 欧美一区二区三区白人| 中文国语毛片高清视频| 国产sm在线观看| 国产在线一区二区| 一级日本不卡的影视| 久久久久久9999| 欧美日韩www| 少妇高潮在线观看| 欧美xxxx×黑人性爽| 国产成人高清在线| 视频一区视频二区在线观看| 国产精品久久久久影院亚瑟 | 美国十次了思思久久精品导航| 国产精品午夜免费| 91精品国产色综合久久不卡电影| 可以免费看av的网址| 欧产日产国产精品98| 高清不卡一区二区| 人妖欧美一区二区| 亚洲女爱视频在线| 国产三区在线成人av| 91麻豆精品国产91久久久久久久久 | 自拍偷拍欧美激情| 久久久久国产精品麻豆ai换脸| 欧美日本韩国一区二区三区视频| 黑人操日本美女|