SQL Server 查詢計劃總結

來源:互聯網
上載者:User

1.查詢計劃文本顯示
SET SHOWPLAN_TEXT on 

 

set statistics profile on

 

2.幾個指標

1. 【Table Scan】:遍曆整個表,尋找所匹配的記錄行。這個操作將會一行一行的檢查,當然,效率也是最差的。
2. 【Index Scan】:根據索引,從表中過濾出來一部分記錄,再尋找所匹配的記錄行,顯示比第一種方式的尋找範圍要小,因此比【Table Scan】要快。
3. 【Index Seek】:根據索引,定位(擷取)記錄的存放位置,然後取得記錄,因此,比起前二種方式會更快。
4. 【Clustered Index Scan】:和【Table Scan】一樣。注意:不要以為這裡有個Index,就認為不一樣了。其實它的意思是說:按叢集索引來漸進式掃描每一行記錄,因為記錄就是按叢集索引來順序存放的。而【Table Scan】只是說:要掃描的表沒有叢集索引而已,因此這二個操作本質上也是一樣的。
5. 【Clustered Index Seek】:直接根據叢集索引擷取記錄,最快!

 

所以,當發現某個查詢比較慢時,可以首先檢查哪些操作的成本比較高,再看看那些操作是尋找記錄時,是不是【Table Scan】或者【Clustered Index Scan】,如果確實和這二種操作類型有關,則要考慮增加索引來解決了。不過,增加索引後,也會影響資料表的修改動作,因為修改資料表時,要更新相應欄位的索引。所以索引過多,也會影響效能。還有一種情況是不適合增加索引的:某個欄位用0或1表示的狀態。例如可能有絕大多數是1,那麼此時加索引根本就沒有意義。這時只能考慮為0或者1這二種情況分開來儲存了,分表或者分區都是不錯的選擇。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.