国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

SQL點(diǎn)滴之收集SQL Server線程等待信息

數(shù)據(jù)庫(kù) SQL Server
要知道線程等待時(shí)間是制約SQL Server效率的重要原因,這一個(gè)隨筆中將學(xué)習(xí)怎樣收集SQL Server中的線程等待時(shí)間,類型等信息,這些信息是進(jìn)行數(shù)據(jù)庫(kù)優(yōu)化的依據(jù)。

 

要知道線程等待時(shí)間是制約SQL Server效率的重要原因,這一個(gè)隨筆中將學(xué)習(xí)怎樣收集SQL Server中的線程等待時(shí)間,類型等信息,這些信息是進(jìn)行數(shù)據(jù)庫(kù)優(yōu)化的依據(jù)。

sys.dm_os_wait_stats

這是一個(gè)系統(tǒng)視圖,里面存儲(chǔ)線程所遇到的所有的等待信息,具體的列如下表

列名

數(shù)據(jù)類型

說明

Wait_type

Nvarchar(60)

等待類型名稱

waiting_tasks_count

Bigint

等待類型的等待數(shù)。該計(jì)數(shù)器在每開始一個(gè)等待時(shí)便會(huì)增加。

Wait_time_ms

Bigint

該等待類型的總等待時(shí)間。

Max_wait_time_ms

Bigint

該等待類型的最長(zhǎng)等待時(shí)間。

Signal_wait_time_ms

Bigint

正在等待的線程從收到信號(hào)通知到開始運(yùn)行之間的時(shí)差。

要注意的是,這個(gè)視圖的信息每次關(guān)閉SQL Server的時(shí)候都會(huì)自動(dòng)清除,下次打開SQL Server的時(shí)候又會(huì)重新開始統(tǒng)計(jì)。

新建線程等待信息表

如果想得到連續(xù)的信息,在固定時(shí)間間隔內(nèi)收集信息比如一個(gè)小時(shí)一次,這樣就可以分析系統(tǒng)分配的等待時(shí)間,識(shí)別出繁忙時(shí)間段。這里我們將這些信息收集到一個(gè)數(shù)據(jù)表中保存并進(jìn)行分析。使用下面的語句新建一個(gè)表:

  1. use AdventureWorks  
  2. CREATE TABLE dbo.WaitStats  
  3. (  
  4. dt DATETIME NOT NULL DEFAULT (CURRENT_TIMESTAMP),  
  5. wait_type NVARCHAR(60) NOT NULL,  
  6. waiting_tasks_count BIGINT NOT NULL,  
  7. wait_time_ms BIGINT NOT NULL,  
  8. max_wait_time_ms BIGINT NOT NULL,  
  9. signal_wait_time_ms BIGINT NOT NULL 
  10. );  
  11. CREATE UNIQUE CLUSTERED INDEX idx_dt_type ON dbo.WaitStats(dt, wait_type);  
  12. CREATE INDEX idx_type_dt ON dbo.WaitStats(wait_type, dt); 

新建job填充數(shù)據(jù)

要收集信息最好是用一個(gè)job來定時(shí)地執(zhí)行insert語句填充數(shù)據(jù),下面介紹步驟

點(diǎn)擊數(shù)據(jù)庫(kù)中的SQL Server Agent,展開,右擊jobs文件夾,右擊新建。如圖1

在新建job界面,General標(biāo)簽中填寫job名稱,描述,如圖2

點(diǎn)擊Setps標(biāo)簽,點(diǎn)擊新建按鈕,在新建step界面內(nèi)設(shè)置Step Name,Type,DataBase,Command等屬性,如下圖3。這些屬性一看就知道是要做什么的,就不一一的解釋了。還要說的 是截圖是建好的job,如果你自己做的話對(duì)話框顯示的標(biāo)題可能不一樣。

Command屬性是設(shè)置要執(zhí)行的SQL語句或存儲(chǔ)過程等等,這里設(shè)置如下的SQL Script:

  1. INSERT INTO Performance.dbo.WaitStats  
  2. (wait_type, waiting_tasks_count, wait_time_ms,  
  3. max_wait_time_ms, signal_wait_time_ms)  
  4. SELECT 
  5. wait_type, waiting_tasks_count, wait_time_ms,  
  6. max_wait_time_ms, signal_wait_time_ms  
  7. FROM sys.dm_os_wait_stats 

點(diǎn)擊Shedules標(biāo)簽,設(shè)置job的執(zhí)行計(jì)劃,這里設(shè)置的是每天的每5分鐘執(zhí)行一次如圖4

上述步驟包含了新建一個(gè)job的主要設(shè)置,其他的細(xì)節(jié)信息沒有包含,遇到具體問題再具體分析吧。

收集等待信息數(shù)據(jù)

過一段時(shí)間之后在表WaitStats中就會(huì)有一些數(shù)據(jù),每隔5分鐘就會(huì)在這個(gè)表中寫入一些數(shù)據(jù),這些數(shù)據(jù)會(huì)不斷的增加。這里為了得到相鄰間隔之間線程等待時(shí)間的變化就要使用自連接,連接條件是等待類型相同,當(dāng)前行號(hào)等于上一個(gè)的行號(hào)加上1,然后就可以用上一次等待時(shí)間減去這一次的等待時(shí)間得到這個(gè)變化值,下面使用一個(gè)函數(shù)來實(shí)現(xiàn)這個(gè)邏輯:

  1. IF OBJECT_ID('dbo.IntervalWaits''IF'IS NOT NULL 
  2. DROP FUNCTION dbo.IntervalWaits;  
  3. GO  
  4. CREATE FUNCTION dbo.IntervalWaits  
  5. (@fromdt AS DATETIME, @todt AS DATETIME)  
  6. RETURNS TABLE 
  7. AS 
  8. RETURN 
  9. WITH Waits AS 
  10. (  
  11. SELECT dt, wait_type, wait_time_ms,  
  12. ROW_NUMBER() OVER(PARTITION BY wait_type  
  13. ORDER BY dt) AS rn  
  14. FROM dbo.WaitStats  
  15. )  
  16. SELECT Prv.wait_type, Prv.dt AS start_time,  
  17. CAST((Cur.wait_time_ms - Prv.wait_time_ms)  
  18. / 1000. AS NUMERIC(12, 2)) AS interval_wait_s  
  19. FROM Waits AS Cur  
  20. JOIN Waits AS Prv  
  21. ON Cur.wait_type = Prv.wait_type  
  22. AND Cur.rn = Prv.rn + 1  
  23. AND Prv.dt >= @fromdt  
  24. AND Prv.dt < DATE 
  25. ADD(day, 1, @todt)  
  26. GO 

這個(gè)函數(shù)接受兩個(gè)參數(shù),開始統(tǒng)計(jì)時(shí)間,結(jié)束統(tǒng)計(jì)時(shí)間,返回等待變化的時(shí)間,并按照類型排序。調(diào)用這個(gè)函數(shù)如下:

SELECT wait_type, start_time, interval_wait_s

FROM dbo.IntervalWaits('20110509', '20110510') AS F

ORDER BY SUM(interval_wait_s) OVER(PARTITION BY wait_type) DESC,wait_type,start_time;

但是我們不能每次都去調(diào)用這個(gè)函數(shù),所以可以吧這個(gè)查詢放在一個(gè)視圖里面,外部只需要使用視圖來查詢數(shù)據(jù)就可以了:

  1. IF OBJECT_ID('dbo.IntervalWaitsSample''V'IS NOT NULL 
  2. DROP VIEW dbo.IntervalWaitsSample;  
  3. GO  
  4. CREATE VIEW dbo.IntervalWaitsSample  
  5. AS 
  6. SELECT wait_type, start_time, interval_wait_s  
  7. FROM dbo.IntervalWaits('20090212''20090215')   
  8. AS F;  
  9. GO 

從視圖中查詢得到的數(shù)據(jù)就是我們要得到的數(shù)據(jù)。但是這些并不明顯,先寫到這里,下一個(gè)隨筆我將在EXECL中把這些數(shù)據(jù)制作成一個(gè)直方圖或者連線圖,橫軸是時(shí)間,縱軸是等待間隔時(shí)間。這樣就會(huì)更加直觀地看到在那些時(shí)間SQL Server的線程等待時(shí)間最長(zhǎng),也就是最繁忙的時(shí)候。

原文鏈接:http://www.cnblogs.com/tylerdonet/archive/2011/05/10/2042447.html

 

【編輯推薦】

  1. 淺述遠(yuǎn)程Service Broker的實(shí)現(xiàn)
  2. Service Broker基礎(chǔ)應(yīng)用(下)
  3. Service Broker基礎(chǔ)應(yīng)用(上)
  4. 簡(jiǎn)述Service Broker事件通知功能
  5. SQL使用中的點(diǎn)滴回憶

責(zé)任編輯:艾婧 來源: 博客園
相關(guān)推薦

2011-04-21 10:06:40

SQL篩選

2011-06-23 14:00:51

SQL點(diǎn)滴

2011-09-09 10:10:13

SQL數(shù)據(jù)庫(kù)點(diǎn)滴

2011-09-13 10:25:05

數(shù)據(jù)庫(kù)點(diǎn)滴

2011-08-02 13:04:40

SQL Server

2011-08-03 13:32:00

SQL Server優(yōu)化

2011-04-27 16:34:06

withSQL Server

2011-04-27 14:27:11

SQL Server

2011-04-22 15:00:22

SQLwin7登錄

2011-04-21 13:49:29

dementionSQL

2011-04-27 16:09:48

SQL ServerSSIS

2018-04-19 09:02:14

SQL ServerSQL性能優(yōu)化

2018-12-25 14:40:04

SQL ServerSQL語句數(shù)據(jù)庫(kù)

2011-04-20 11:11:33

SQLSET QUOTED_

2011-04-28 09:49:56

SQLwith子查詢

2011-05-24 15:02:21

OracleSQL

2010-04-30 12:38:38

Oracle進(jìn)程

2011-04-27 15:55:16

2009-10-23 12:44:35

SQL SERVER

2011-08-19 10:13:34

SQL Server Values新用途
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

岛国成人av| 91亚洲va在线va天堂va国| 欧美视频在线第一页| 欧美~级网站不卡| 亚洲精品久久久一区二区三区| 久久婷婷国产91天堂综合精品| 亚洲在线国产日韩欧美| 日本道色综合久久影院| 91成人在线| 日本道色综合久久| 日本搞黄视频| 99久久婷婷国产综合精品| 亚洲一区二区久久久久久| 国模私拍国内精品国内av| 日韩你懂的在线观看| 中文字幕理伦片免费看| 美女视频黄频大全不卡视频在线播放| 日韩你懂的在线观看| h网址在线观看| 国产精品久久久久久久久快鸭| 久久综合伊人77777麻豆| 91视频久久| 欧美成人网在线| 免费高潮视频95在线观看网站| 91精品国产色综合久久不卡电影 | 国产一区亚洲| 欧美日韩一区二 | 91精品国模一区二区三区| 国产导航在线| 一区二区三区色| 伊人中文字幕在线| 欧美日韩国产高清一区二区三区 | 欧美日韩欧美一区二区| 久久成人福利视频| 蜜桃久久久久久| 成人在线看视频| 亚洲国产精品久久久久婷婷884 | 91美女精品福利| 色老板视频在线观看| 高清av一区二区| www.玖玖玖| 色久优优欧美色久优优| 日本免费一区二区三区四区| 欧美精品一二区| 亚洲高清在线| www.爱色av.com| 一本一道久久a久久精品| 欧洲毛片在线| 亚洲国产成人av在线| 麻豆9191精品国产| 国产精品自产拍高潮在线观看| 午夜影院一区| 国产精品88a∨| 国精产品一区一区三区四川| 国产a区久久久| 国产欧美在线一区二区| 福利电影一区| 一区二区在线免费视频| 人人爽人人av| 在线国产欧美| 国产日韩中文字幕| 欧美女v视频| 国产一区二区三区在线观看免费 | 亚洲a成人v| 亚洲欧洲在线视频| 亚洲天堂偷拍| 伊人久久大香线蕉成人综合网| 国产精品综合| 国产精品精华液网站| 欧美激情va永久在线播放| 一区二区电影| 亚洲黄色小视频在线观看| 欧美一级电影网站| 日韩色av导航| 亚洲性色视频| 在线观看麻豆| 国产欧美日韩精品在线观看| 国产福利视频一区二区三区| 久草在线网址| 国产精品久久av| 国产亚洲综合色| 影音先锋欧美激情| 无码人妻丰满熟妇区96| 日韩精品黄色网| 国产成人免费在线观看不卡| 国产伦久视频在线观看| 欧洲精品一区色| 欧美理论电影在线| 久久久久国产精品一区三寸 | 色偷偷88欧美精品久久久| 国产伦精品一区二区三区千人斩| 国模精品视频一区二区三区| 国产美女主播视频一区| 在线观看精品| 男人天堂新网址| 精品国产一区二区在线| 26uuu成人网一区二区三区| 久久伊人久久| 日本三级免费观看| 久久久久久国产精品三级玉女聊斋| 国产91丝袜在线18| 国产成人aa在线观看网站站| 一本一道久久a久久精品| 色无极亚洲影院| www.综合网.com| 欧美精品一区二区三区三州| 777精品视频| 91麻豆精品国产91久久久资源速度| 国产盗摄一区二区三区| 波多野结衣在线一区二区| 粉嫩欧美一区二区三区| 蜜桃91精品入口| 欧美猛男性生活免费| 色中色一区二区| 91免费观看视频在线| 欧美福利在线| 精品一区二区三区中文字幕在线 | 国产又大又黄又粗的视频| 91精品国产综合久久久久久久久| 欧美成人精品二区三区99精品| 国产精品狼人久久影院观看方式| 好吊日精品视频| 高清日韩中文字幕| 麻豆mv在线看| 黄污网站在线观看| 亚洲国产精品无码观看久久| 国产精品久久久久久久app| 亚洲图片欧美日产| 91精品国产综合久久福利软件| 久久久国产精品| 精品中文字幕一区二区三区| 91在线不卡| 校园春色影音先锋| 久艹在线免费观看| 91在线播放视频| 午夜精品一区二区三区在线| 欧美不卡一二三| 色悠久久久久综合欧美99| 亚洲另类一区二区| 成人在线综合网站| 日产精品一区二区| 色愁久久久久久| 牛牛视频精品一区二区不卡| 手机在线理论片| bl在线肉h视频大尺度| 成人在线二区| 久草视频在线看| 国产午夜视频| 宅男宅女性影片资源在线1| 成人综合av| 黄色一级免费大片| 欧美成人在线网站| 日韩1区2区3区| 日本在线观看| 亚洲图片88| 免费在线观看av| av资源一区| 交100部在线观看| av日韩电影| 91精品麻豆| 综合成人在线| 91精品福利观看| 成人福利一区二区| 色狠狠久久av综合| 亚洲男女av一区二区| 亚洲小说欧美另类社区| 亚洲综合国产激情另类一区| 蜜臀久久99精品久久久画质超高清| 日韩激情在线观看| 91在线视频网址| 欧美特黄级在线| 一本久久a久久免费精品不卡| 欧美一区二区三区免费| 久久国产免费看| 国产aⅴ综合色| 亚洲精品第1页| 欧美videossexotv100| 久久久久久国产精品三级玉女聊斋| 韩国欧美亚洲国产| 国产精品日本一区二区| 视频在线观看成人| 日韩欧美视频免费在线观看| 宅男噜噜噜66国产免费观看| 国产精品二线| julia一区二区三区中文字幕| www.久久久久爱免| 亚洲婷婷免费| 亚洲福利一二三区| 欧美精品videossex88| 图片区小说区区亚洲五月| 成年人视频在线| 中文字幕不卡在线视频极品| 国产精品久久久久久久久免费看| 91久久综合亚洲鲁鲁五月天| 国产精品一区久久| www亚洲国产| 免费在线观看的电影网站| 亚洲视频观看| 欧美肥胖老妇做爰| 日本一区高清不卡|