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

軟件下載吧

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

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

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

 在生產環境下,有時公司客服反映網頁半天打不到,除了在瀏覽器按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

相關下載

查看所有評論+

網友評論

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

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 日批视频在线看| 老司机亚洲精品影院| 日本电影里的玛丽的生活| 国产男女猛烈无遮挡免费网站| 五月天婷婷综合网| 韩国免费A级作爱片无码| 扒开双腿爽爽爽视频www| 午夜在线视频一区二区三区| 99精品国产高清一区二区| 欧美性受xxxx喷水性欧洲| 国产成人精品免费久久久久| 久久99精品国产麻豆不卡| 精品久久久久久亚洲精品| 国产麻豆天美果冻无码视频| 五月婷婷在线免费观看| 色综合五月婷婷| 天堂网在线最新版www| 亚洲国语在线视频手机在线| 香蕉视频黄色在线观看| 孩交精品xxxx视频视频| 亚洲日本一区二区一本一道| 黑人巨大videos极度另类| 成年无码av片完整版| 亚洲精品综合久久中文字幕| 欧美大bbbxxx视频| 性猛交xxxxx按摩中国| 亚洲日本一区二区一本一道| 青青草娱乐视频| 天天爱天天做天天爽| 五月婷婷在线播放| 精品久久久久久久中文字幕 | 欧美激情xxxx| 国产动作大片中文字幕| jizzjizz国产精品久久| 最近中文字幕mv在线视频www| 又粗又长又色又爽视频| 国产成人精品午夜福利| 久久狠狠躁免费观看| 竹菊影视国产精品| 国产粗话肉麻对白在线播放| 丁香花免费高清视频完整版|