国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

使用查詢分析器調(diào)整SQL服務(wù)器腳本

2024-07-21 02:10:44
字體:
供稿:網(wǎng)友

我喜歡把sql服務(wù)器所捆綁的工具看作是倒金字塔型的,診斷和檢查一般問題的工具在頂端,尋找和診斷問題具體區(qū)域的工具在底部。除了提供一種編寫sql腳本的便捷方式之外,在你需要解決特定sql腳本里明確問題的時(shí)候,查詢分析器(query analyzer)還是所需要使用的資源。如果你需要指出哪個(gè)查詢正在保持著某個(gè)特定表格的鎖定狀態(tài),你也會(huì)希望使用查詢分析器。

查詢分析器的關(guān)鍵診斷特性是它能夠顯示某個(gè)查詢的執(zhí)行計(jì)劃。這個(gè)執(zhí)行計(jì)劃會(huì)向你提供各種類型的有用信息,例如在查詢的執(zhí)行期間如何以及何時(shí)使用或者不使用索引。它還會(huì)提供許多其他的細(xì)節(jié),例如排序、平行(parallelism)、嵌套循環(huán),以及sql服務(wù)器在執(zhí)行指定查詢時(shí)必須做的其他事情。

計(jì)劃的好處


有了查詢分析器,你就可以查看預(yù)計(jì)計(jì)劃而不需要運(yùn)行查詢本身,或者在查詢執(zhí)行之后查看真實(shí)的計(jì)劃。很顯然,真實(shí)的計(jì)劃會(huì)更加準(zhǔn)確,因?yàn)樗菑奈锢砩蠈?duì)數(shù)據(jù)庫(kù)運(yùn)行查詢的。但是對(duì)于系統(tǒng)負(fù)載巨大和/或長(zhǎng)期的查詢,這種方法可能就不是最好的選擇了。在典型情況下,當(dāng)我認(rèn)為某個(gè)特定的查詢有問題的時(shí)候,或者如果我預(yù)計(jì)有一個(gè)查詢會(huì)在應(yīng)用程序里被足夠頻繁地調(diào)用以至于可能會(huì)導(dǎo)致性能問題的時(shí)候,我就會(huì)運(yùn)行這個(gè)工具。

你可以通過把sql表達(dá)式輸入查詢分析器再按[ctrl]l來查看預(yù)計(jì)的執(zhí)行計(jì)劃。執(zhí)行計(jì)劃然后就會(huì)顯示在結(jié)果(results)面板的選項(xiàng)卡里。執(zhí)行計(jì)劃在剛開始的時(shí)候可能比較難讀,因?yàn)樗幌裼⒄Z(yǔ)一樣是從左往右讀的,而是從右往左讀的。


運(yùn)行中的計(jì)劃

這里有一個(gè)你可以跟著做的例子,從這個(gè)例子里你可以看到如何使用查詢分析器來查看一個(gè)執(zhí)行計(jì)劃。考慮一下下面查詢,它會(huì)從northwind數(shù)據(jù)庫(kù)里返回某個(gè)雇員所在的地點(diǎn)和相關(guān)地區(qū):
 
select
territorydescription, regiondescription
from
employees e
join employeeterritories et on e.employeeid = et.employeeid
join territories t on et.territoryid = t.territoryid
join region r on t.regionid = r.regionid
where
e.employeeid = 1
order by
territorydescription, regiondescription
 
這個(gè)查詢的結(jié)果顯示:一號(hào)employeeid在東部(eastern)有兩個(gè)地區(qū),如圖a所示。

圖a

查詢結(jié)果

圖b顯示了sql服務(wù)器從示例查詢所生成的預(yù)計(jì)執(zhí)行。這個(gè)圖標(biāo)中的每個(gè)節(jié)點(diǎn)都代表著sql服務(wù)期執(zhí)行示例查詢所采取的步驟。要注意,每個(gè)節(jié)點(diǎn)包括一個(gè)預(yù)計(jì)的相對(duì)消耗,以及執(zhí)行計(jì)劃被顯示的時(shí)候sql服務(wù)器所使用的每個(gè)索引的名稱。

圖b

執(zhí)行計(jì)劃

你可以把鼠標(biāo)放在執(zhí)行計(jì)劃的每個(gè)節(jié)點(diǎn)上以獲取更多關(guān)于該步驟的信息,例如該節(jié)點(diǎn)所代表的操作類型、受影響的行數(shù),以及和該步相關(guān)的消耗的分解。c顯示的是圖b里針對(duì)第一個(gè)節(jié)點(diǎn)的額外信息。這些彈出窗口里的信息能夠提示你可以對(duì)查詢做出哪些改進(jìn),如果能夠改進(jìn)的話。

圖c



和索引調(diào)節(jié)向?qū)б黄鹗褂?/h5>

你可以將查詢分析器和sql服務(wù)器的索引調(diào)節(jié)向?qū)В╯erver’s index tuning wizard,itw)一起使用。我通常使用sql服務(wù)器的profiler來收集要送入itw的數(shù)據(jù)。但是有時(shí)候,我會(huì)使用查詢分析器,如果我認(rèn)為它代表著我正在進(jìn)行測(cè)試時(shí)的某種活動(dòng)類型的話。你可以從查詢(query)菜單來訪問itw;它能夠?qū)υ诨顒?dòng)編輯面板里的sql腳本做出性能建議。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延长县| 天门市| 临朐县| 甘谷县| 沾化县| 巩义市| 肃南| 赫章县| 高要市| 福海县| 六安市| 西华县| 从江县| 图木舒克市| 北碚区| 吕梁市| 琼中| 鄂温| 内江市| 应城市| 通化市| 天镇县| 榆树市| 隆昌县| 安岳县| 凌海市| 禹州市| 噶尔县| 中超| 合作市| 黎城县| 兖州市| 天等县| 郁南县| 高密市| 河西区| 马边| 柯坪县| 交城县| 彩票| 平谷区|