日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

锁分区提升并发,以及锁等待实例

發布時間:2024/10/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 锁分区提升并发,以及锁等待实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

碼字介紹

http://msdn.microsoft.com/en-us/library/ms187504(v=SQL.100).aspx

鎖分區技術對提高并發有一定幫助,但對對象操作又有了新的定義,需要DBA&開發人員在設計,維護應用中做更細致的考量.

?

鎖分區提升并發,以及鎖等待實例

?

--測試數據庫tempdb --創建測試表 create table testlkp ( id int )--step1 spid 64中執行事務insert BEGIN TRAN ttt INSERT INTO testlkp VALUES(1)


說明:創建測試環境,第一步開啟事務執行insert 成功

?

---隨意不相關session spid70中查看操作的數據庫上下文中查看鎖的情況select request_session_id,* from sys.dm_tran_locks where resource_database_id=DB_ID()order by request_mode

說明:觀察鎖情況發現鎖中分區號15有對象級IX鎖

?

?

--step 2新開啟session spid 67 執行sql 被阻塞ALTER TABLE testlkp ALTER COLUMN id smallint

說明:由于無法獲得整體對象SCH-M鎖,等待

?

---隨意不相關session spid70中查看操作的數據庫上下文中查看鎖的情況select request_session_id,* from sys.dm_tran_locks where resource_database_id=DB_ID()order by request_mode

說明:其他鎖分區(0-14)均獲得了SCH-M鎖,但由于15由于IX鎖無法獲得

?

--Step3 新開啟session 執行事務 插入數據 spid 71 被阻塞BEGIN TRAN ttt INSERT INTO testlkp VALUES(2) ---------blocked

說明:開啟新session查詢被阻塞

---隨意不相關session spid70中查看操作的數據庫上下文中查看鎖的情況select request_session_id,* from sys.dm_tran_locks where resource_database_id=DB_ID()order by request_mode

說明:insert需要申請表的IX鎖,但正好落在15這個分區上,所以等待

--Step4 新開啟session 執行事務 插入數據 spid 65 執行成功!BEGIN TRAN ttt INSERT INTO testlkp VALUES(3)

說明:開啟新的session insert 插入成功!

---隨意不相關session spid70中查看操作的數據庫上下文中查看鎖的情況select request_session_id,* from sys.dm_tran_locks where resource_database_id=DB_ID()order by request_mode


說明:新的session插入操作時在其他的鎖分區上(16)獲得IX鎖所以執行成功!

?

思考:鎖分區技術的出現提高了并發,但在做表級操作如果需所有分區鎖如SCH-M將有可能對此類操作造成更"長"等待

如索引維護操作(需SCH-M鎖),一旦有長時間事務甚至孤立事務占據著分區級的某個鎖,則可能一直陷入等待狀態造成阻塞從而影響全局.

在諸如此類操作或應用設計中,大家需要全面仔細考量.

?

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/shanksgao/p/3140149.html

總結

以上是生活随笔為你收集整理的锁分区提升并发,以及锁等待实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。