亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

sqlserver 執(zhí)行計劃

freeflydom
2023年7月26日 8:49 本文熱度 1628

官方文檔


想復(fù)雜的事情簡單說,在看執(zhí)行計劃的其他文章的時候,發(fā)現(xiàn)直接上很復(fù)雜的DDL腳本來講解,這樣子可能打開就沒有興趣往下看了。所以這里用了一個最簡單的select語句進(jìn)行說明引新入門。


打開

注意這三個【L型圖標(biāo)】,可以把鼠標(biāo)移動到按鈕上方可以顯示【解釋文字】。


圖中從左到右分別為【顯示估計的執(zhí)行計劃】【包括實際的執(zhí)行計劃】【包括實時查詢統(tǒng)計信息】。


【顯示估計的執(zhí)行計劃】是執(zhí)行某個DDL的估計值。


【包括實際的執(zhí)行計劃】【包括實時查詢統(tǒng)計信息】都是執(zhí)行實際的值,所以你選擇后,它會在下次執(zhí)行后出執(zhí)行結(jié)果。


 




結(jié)果分析

這是一個簡單的查詢,鼠標(biāo)點擊圖片中的圖片或線上都有驚喜(大量細(xì)節(jié)信息展示)。執(zhí)行計劃可以通過“另存”操作將某一次結(jié)果保留下來,方便與日后進(jìn)行結(jié)果對比。


除了圖標(biāo)外,線的粗細(xì)代表涉及到的數(shù)據(jù)量的大小,越粗代表數(shù)據(jù)量越大。


 




執(zhí)行計劃元素列表如下:

 


執(zhí)行計劃元素列表解釋請參考:

Graphical execution Plan Icons (SQL Server Management Studio)

看懂SQL Server執(zhí)行計劃



結(jié)果細(xì)節(jié)圖

 

   





其中,第三個圖中的屬性O(shè)rdered是與order by相關(guān)。如下面兩個腳本:


select * from vvtest order by id;

select * from vvtest

兩個執(zhí)行計劃的結(jié)果如下:


  




 


所謂數(shù)據(jù)訪問就是直接訪問數(shù)據(jù),可以是訪問一個表也可以是訪問一個索引。


通常有兩種方法:一種是掃描(scan)一種是查找(seek)。


scan就是讀取整個結(jié)構(gòu),可以訪問一個heap或者一個clustered索引或者一個non-clustered索引。

seek不會讀取整個結(jié)構(gòu),他則是更高效地通過索引訪問一行,所以從這個角度來看,查找就只能應(yīng)用在索引上面了。簡單總結(jié)如下表所示:

首先分析最右邊的Table Scan。這是sqlserver 查詢數(shù)據(jù)的方法。sqlserver 數(shù)據(jù)查詢方式一共有五種:


1. 【Table Scan】:遍歷整個表,查找所有匹配的記錄行。這個操作將會一行一行的檢查,當(dāng)然,效率也是最差的。

2. 【Index Scan】:根據(jù)索引,從表中過濾出來一部分記錄,再查找所有匹配的記錄行,顯然比第一種方式的查找范圍要小,因此比【Table Scan】要快。

3. 【Index Seek】:根據(jù)索引,定位(獲?。┯涗浀拇娣盼恢?,然后取得記錄,因此,比起前二種方式會更快。

4. 【Clustered Index Scan】:和【Table Scan】一樣。注意:不要以為這里有個Index,就認(rèn)為不一樣了。 其實它的意思是說:按聚集索引來逐行掃描每一行記錄,因為記錄就是按聚集索引來順序存放的。 而【Table Scan】只是說:要掃描的表沒有聚集索引而已,因此這二個操作本質(zhì)上也是一樣的。

5. 【Clustered Index Seek】:直接根據(jù)聚集索引獲取記錄,最快!


所以總體來講,在查詢結(jié)果集是相同數(shù)量的情況下,查詢速度排序為5>3>2>4>1。


一般而言,在性化時可以看到執(zhí)行記錄時是不是【Table Scan】或者【Clustered Index Scan】,如果是,可以通過增加或修改索引類型進(jìn)行效率上的對比。


Lookup類型


Bookmark Lookup、RID Lookup、Key Lookup。


Bookmark Lookup和Key Lookup是一個意思,等價。


如果表沒有創(chuàng)建聚集索引則稱為Bookmark Lookup,如果表中沒有聚集索引但是存在非聚集索引我們稱為RID Lookup。


為什么突然扯了一嘴Lookup呢?因為Lookup其實就是與執(zhí)行計劃里的scan或index相關(guān)。如果聚集索引命中就是指Bookmark Lookup——聚集索引命中的時候,很大概率是索引不能帶出select所需的某一部分字段或者是全部字段,所以需要先命中一行,然后把某一行的數(shù)據(jù)全帶出來。非聚集索引命中就是指RID Lookup。


SQL SERVER如何選擇執(zhí)行計劃

sqlserver選擇某個執(zhí)行計劃,執(zhí)行計劃用某個索引,是這有一個權(quán)重判斷的。這個權(quán)重在執(zhí)行前都計算出來了。

那怎么查看呢——通過【索引統(tǒng)計信息】。在執(zhí)行腳本的過程中,sqlserver會根據(jù)這些統(tǒng)計信息,選擇一個它認(rèn)為是最合適的方法去執(zhí)行查詢過程。統(tǒng)計信息可以自動定時更新,在SQL Server中也有個參數(shù)來控制這個更新方式。


 




語法

DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid);


這里的引號很重要,沒會報錯。


主要有兩個參數(shù):


第一個:是表名或者是索引視圖名(給視圖加的索引)


第二個:索引名、列名、統(tǒng)計信息。


結(jié)果屬性介紹

索引前綴集是什么?索引前綴和前綴索引不是一個東西。


索引前綴是指索引的選擇性——根據(jù)索引定義時的字段順序來決定索引是否被命中。如果是索引(a,b,c),命中查詢的時候是查詢條件中有(a) (a,b) (a,b,c)進(jìn)行命中,但是(b,c)這個查詢條件不會命中該索引。所以索引前綴也叫索引列前綴集。


前綴索引說白了就是對文本的前幾個字符(具體是幾個字符在建立索引時指定)建立索引,這樣建立起來的索引更小,所以查詢更快。


 


   

 


執(zhí)行計劃詳細(xì)屬性介紹

 




在執(zhí)行DDL之前,輸入一句set statistics profile on 。顯示一個表格,表格內(nèi)是比圖上更細(xì)節(jié)的實際的執(zhí)行信息。針對這個表的屬性做一個整理解析。

 

 



 

原文鏈接



該文章在 2023/7/26 8:49:40 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved