下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 數據庫 > MS_SQL > SQL基礎:sql server查詢語句阻塞優化性能

SQL基礎:sql server查詢語句阻塞優化性能

時間:2024-02-13 10:23作者:下載吧人氣:21

 在生產環境下,有時公司客服反映網頁半天打不到,除了在瀏覽器按F12的Network響應來排查,確定web服務器無故障后。就需要檢查數據庫是否有出現阻塞

當時數據庫的生產環境中主表數據量超過2000w,子表數據量超過1億,且更新和新增頻繁。再加上做了同步鏡像,很消耗資源。

這時就要新建一個會話,大概需要了解以下幾點:

  • 1.當前活動會話量有多少?
  • 2.會話運行時間?
  • 3.會話之間有沒有阻塞?
  • 4.阻塞時間 ?

查詢阻塞的方法有很多。有sql 2000 的sp_lock, 有sql 2005及以上的dmv

一. 阻塞查詢 sp_lock

執行 exec sp_lock  下面列下關鍵字段

spid 是指進程ID,這個過濾掉了系統進程,只展示了用戶進程spid>50。

dbid 指當前實例下的哪個數據庫 , 使用DB_NAME() 函數來標識數據庫

type 請求鎖住的模式

mode 鎖的請求狀態

  • GRANT:已獲取鎖。
  • CNVRT:鎖正在從另一種模式進行轉換,但是轉換被另一個持有鎖(模式相沖突)的進程阻塞。
  • WAIT:鎖被另一個持有鎖(模式相沖突)的進程阻塞。

總結:當mode 不為GRANT狀態時, 需要了解當前鎖的模式,以及通過進程ID查找當前sql 語句 

例如當前進程ID是416,且mode狀態為WAIT 時,查看方式 DBCC INPUTBUFFER(416)

用sp_lock查詢顯示的信息量很少,也很難看出誰被誰阻塞。所以當數據庫版本為2005及以上時不建議使用。

 二.阻塞查詢  dm_tran_locks 

SELECT
t1.resource_type,
t1.resource_database_id,
t1.resource_associated_entity_id,
t1.request_mode,
t1.request_session_id,
t2.blocking_session_id
FROM sys.dm_tran_locks as t1
INNER JOIN sys.dm_os_waiting_tasks as t2
ON t1.lock_owner_address = t2.resource_address;
標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 亚洲无码一区二区三区| 国产视频精品视频| 君子温如玉po| 中文字幕人妻高清乱码| 色国产精品一区在线观看| 日本在线高清视频日本在线观看成人小视频 | m.jizz4.com| 真实乱l仑全部视频| 好爽好紧好多水| 俺也去在线观看视频| GOGO人体大胆全球少妇| 波多野结衣有一部紧身裙女教师| 大香大香伊人在钱线久久下载| 偷天宝鉴在线观看| 99久久人妻精品免费一区| 欧美激情在线播放一区二区三区| 国产美女在线看| 亚洲www在线| 91香蕉污视频| 琪琪色在线观看| 在线观看一级毛片| 亚洲成在人线电影天堂色| 伊人久热这里只精品视频| 桃子视频在线观看高清免费视频| 国产尤物二区三区在线观看| 久久人人爽爽人人爽人人片AV| 色综合天天综合网国产成人| 成人禁在线观看| 人妻蜜と1~4中文字幕月野定规| 99久久免费国产精品| 欧美成人久久久| 国产又色又爽又刺激在线播放| 中文字幕手机在线播放| 精品三级在线观看| 成全视频在线观看在线播放高清| 动漫精品专区一区二区三区不卡 | 麻豆高清免费国产一区| 无遮挡很爽很污很黄在线网站| 初尝黑人巨砲波多野结衣| 91网站网址最新| 日韩在线视精品在亚洲|