亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

sqlserver中幾種典型的等待

2024-08-31 01:03:53
字體:
來源:轉載
供稿:網友
在最近的幾次sqlserver問題的排查中,總結了sqlserver幾種典型的等待類型,類似于oracle中的等待事件,如果看到這樣的等待類型時候能夠迅速定位問題的根源,下面通過一則案例來把這些典型的等待處理方法整理出來
 

為了準備今年的雙11很久沒有更新blog,在最近的幾次sqlserver問題的排查中,總結了sqlserver幾種典型的等待類型,類似于oracle中的等待事件,如果看到這樣的等待類型時候能夠迅速定位問題的根源,下面通過一則案例來把這些典型的等待處理方法整理出來:

第一種等待.memory等待

早上接到一用戶反饋其RDS實例非常的慢,通過觀察sqlserver活動會話監視器(active monitor)的waiting tasks(類似于mysql的thread running)可以看到有10多w的等待任務,可以明確數據庫現在已經出現了較大的瓶頸,緊接著通過resource waits看到數據庫中有大量的memory內存等待:

sqlserver

看到是memory 資源等待后,為了立刻恢復用戶應用,想到立刻去調大內存,發現該實例已經是24G了,看來一下os的空余內存,還有較多的內存剩余,所以將內存調大到36G,發現resource waits還是在memory上等待,同時這個時候的cpu使用率飆升,達到了90%左右(之前在10%左右的等待).這樣解決不了根本問題,于是通過recent expensive queries,發現以下sql的邏輯讀很高,執行非常頻繁:

SELECT * FROM RefundOrder_Message messages0_ WHERE messages0_.Order_Id=@p0;

也可以通過如下方式獲得造成內存等待的sql:
SELECT st.text FROM sys.dm_exec_query_memory_grants req CROSS APPLY sys.dm_exec_sql_text(req.sql_handle) as ST where req.grant_time is NULL or req.granted_memory_kb is NULL

The columns grant_time and granted_memory_kb will be NULL for those queries which are waiting to get their requested memory

sp_helpindex RefundOrder_Message
發現該表只有一個主鍵索引:

sqlserver

創建一下索引:
create index ind_RefundOrder_Message_order_id on RefundOrder_Message(Order_Id);

sqlserver

第二種等待:latch等待


在索引加上去后,memory的等待立刻消失,但是resource waits的等待變為了 lock:

sqlserver

通過以下內部視圖可以發現如下調用出現了等待:
SELECT ss.host_name, req.blocking_session_id,req.wait_type ,req.wait_time ,req.wait_resource ,req.transaction_id ,st.text FROM sys.dm_exec_requests req CROSS APPLY sys.dm_exec_sql_text(req.sql_handle) as ST
cross apply sys.dm_exec_sessions ss where req.status =N'suspended' and ss.session_id=req.session_id;

得到阻塞其他會話的sql:
(@p0 int,@p1 nvarchar(4000),@p2 bit)
SELECT TOP (@p0) this.* FROM ViewSalesOrder this_ WHERE this_.MemberCode = @p1 and this_.IsObsolete = @p2 ORDER BY this_.OdCode desc;

視圖ViewSalesOrder是一張非常核心的視圖,里面關聯了訂單,訂單消息,訂單發貨等多個業務邏輯;查詢條件中代入了membercode為店鋪的名稱,可能操作某個店鋪的訂單;
通過ViewSalesOrder視圖中的定義,membercode,IsObsolete ,OdCode 為salesOrder表的三個字段,查看salesOrder上并沒有相應的索引,于是加上如下索引:
create index ind_salesOrder_member on salesOrder(membercode,IsObsolete,code);
在添加完索引后,數據庫的waiting tasks 下降,batch requests提升:

sqlserver

第三種等待:lock

第三種等待是常見的等待,常見的情況在刪除,更新的時候由于條件中沒有合適的索引導致鎖定的記錄范圍太大,導致阻塞其他的會話請求:

用戶在在進行壓測的時候發現一條更新語句執行的非常慢,導致整個系統都卡?。?/p>

sqlserver

update DD_ShenHe   set ZF = 0   where zf is null;

查看dd_shenhe表上面的索引:

sqlserver

可以看到表中并沒有zf字段的索引,而該表總共有400w的數據,zf 為null的有8000條,所以在zf字段添加索引是合適的:

Create index ind_dd_shenhe_zf on dd_shenhe(zf);

添加完索引后,系統恢復正常。



注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品美女免费| 伊人久久大香线蕉av一区二区| 国产在线观看91精品一区| 美女啪啪无遮挡免费久久网站| 欧美日韩国产一区在线| 亚洲欧洲日产国产网站| 91黑丝高跟在线| 国产成人亚洲综合91| 国产一区二区三区欧美| 精品久久久久久| 一区二区三区回区在观看免费视频| 国产亚洲欧洲高清一区| 欧美亚洲国产视频| 中国日韩欧美久久久久久久久| 国产高清视频一区三区| 伊人激情综合网| 国产美女扒开尿口久久久| 国产三级精品网站| 久久精品99久久香蕉国产色戒| 国模视频一区二区| 亚洲精选一区二区| 欧洲美女7788成人免费视频| 成人啪啪免费看| 欧美福利视频在线观看| 色樱桃影院亚洲精品影院| 亚洲精品日韩久久久| 午夜精品久久久久久久男人的天堂| 国内自拍欧美激情| 不用播放器成人网| 成人免费视频xnxx.com| 国产精品免费一区豆花| 伊人久久男人天堂| 精品久久久久久| 乱亲女秽乱长久久久| 色综合久久88| 国产成人精品视频在线| 在线视频精品一| 欧美极品美女电影一区| 久久国产精品影片| 精品国产一区二区三区四区在线观看| 亚洲日本欧美日韩高观看| 在线观看欧美成人| 亚洲精品自拍偷拍| 精品国产乱码久久久久久天美| 亚洲午夜未满十八勿入免费观看全集| 日韩国产精品亚洲а∨天堂免| 亚洲肉体裸体xxxx137| 亚洲欧洲视频在线| 不卡av在线网站| 日韩欧美在线视频免费观看| 日韩在线免费视频| www亚洲欧美| 中文日韩在线视频| 在线观看亚洲区| 九色精品美女在线| 国产99视频在线观看| 狠狠躁夜夜躁人人躁婷婷91| 国产精品日韩专区| 久久国产精品免费视频| 亚洲欧美日韩一区二区在线| 精品一区二区三区电影| 国产噜噜噜噜久久久久久久久| 亚洲第一在线视频| 亚洲aⅴ男人的天堂在线观看| 色诱女教师一区二区三区| 国产97在线观看| 国产成人97精品免费看片| 精品av在线播放| 成人xvideos免费视频| 久久视频在线免费观看| 亚洲aⅴ日韩av电影在线观看| 日韩综合中文字幕| 国产成人精品最新| 日韩美女视频中文字幕| 国产va免费精品高清在线观看| 亚洲国产精品中文| 欧美第一黄网免费网站| 中文字幕欧美视频在线| 欧美日韩成人精品| 亚洲国产高清自拍| 91在线免费视频| 国产精品久久久久久一区二区| 2019国产精品自在线拍国产不卡| 日韩中文在线不卡| 欧美一级片久久久久久久| 日韩大陆毛片av| 日韩中文字幕在线视频| 国产精品福利小视频| 国产亚洲欧美日韩一区二区| 98精品国产高清在线xxxx天堂| 午夜精品一区二区三区在线视频| 中文字幕亚洲综合| 国产aⅴ夜夜欢一区二区三区| 欧美一级成年大片在线观看| 成人国产亚洲精品a区天堂华泰| 色偷偷9999www| 精品爽片免费看久久| 日韩精品免费综合视频在线播放| 亚洲自拍偷拍一区| 亚洲国产精品va在线看黑人| 欧美在线观看网站| 国产精品久久久久久五月尺| 久久中国妇女中文字幕| 国产一区二区丝袜| 欧美在线视频一区二区| 97涩涩爰在线观看亚洲| 久久久久久国产精品三级玉女聊斋| 亚洲情综合五月天| 国产亚洲一级高清| 国产精品久久久久久久久久东京| 亚洲free性xxxx护士白浆| 欧美视频免费在线观看| 日韩一二三在线视频播| 欧美黄色性视频| 97视频免费看| 国产成人精品电影久久久| 青青青国产精品一区二区| 欧美电影在线观看| 亚洲国产成人一区| www国产亚洲精品久久网站| 欧美极品少妇xxxxⅹ免费视频| 日韩欧美中文字幕在线播放| 91精品国产91久久久| 国产日韩欧美91| 国产一区二区三区18| 日韩中文字幕在线| 亚洲欧美国产精品久久久久久久| 亚洲国产精品99| 欧美寡妇偷汉性猛交| 亚洲国产精品中文| 91九色国产社区在线观看| 狠狠躁夜夜躁久久躁别揉| 日韩激情av在线播放| 国产精品一二三视频| 久久精品精品电影网| 日韩av大片免费看| 久久精品99国产精品酒店日本| 久久精品91久久久久久再现| 欧美日韩国产成人| 色中色综合影院手机版在线观看| 亚洲国产精品网站| 国模精品系列视频| 国产精品久在线观看| 欧美精品在线极品| 亚洲成人三级在线| 日本高清视频精品| 清纯唯美亚洲综合| 亚洲激情免费观看| 欧美日韩国产黄| 亚洲v日韩v综合v精品v| 久久免费观看视频| 亚洲最大的av网站| 97香蕉超级碰碰久久免费软件| 国产成人精品av在线| 精品日本美女福利在线观看| 日韩高清电影免费观看完整| 午夜美女久久久久爽久久| 国产精品一区二区av影院萌芽| 日韩av电影在线网| 国产精品久久久久久久app| 欧美精品videofree1080p| 2019中文字幕免费视频| 日韩乱码在线视频| 久久久久久久久国产|