[英]Understanding execution plan in SQL Server
我需要了解如何閱讀執行計划,我正在閱讀一些文件,但對我來說並不清楚。
如何判斷我的查詢是否執行正常?
這是什么意思:
坦率地說,這被否決了(見我的評論)。 但是,您最好閱讀 Microsoft 的 Technet 關於基於成本的優化器的文章,該文章涵蓋了您所詢問的內容。
我會這么說,根據我的經驗,如果執行計划推薦一個索引,那么我建議你認真考慮它,因為性能提升通常會實現,即使索引幾乎沒有意義(即 SQL 服務器很好,但是不完美,知道自己想要什么)。 現在,如果您添加一個索引並且執行計划推薦了另一個索引,那么您可能需要考慮查看您返回的列; 你是如何加入的; 和/或您的餐桌設計。
最終,您試圖讓執行計划顯示聚集索引查找(最佳),然后是聚集索引掃描(OK)、索引查找、索引掃描,並避免表掃描(即堆)。 當然,這是我自己的看法。
https://technet.microsoft.com/en-us/library/2007.11.sqlquery.aspx
其他輕讀:
http://www.dbjournal.ro/archive/16/16_4.pdf
對於從業者指南和討論:
http://logicalread.com/sql-server-primary-key-vs-clustered-index-part-1-mb01/
http://logicalread.com/sql-server-primary-key-vs-clustered-index-part-2-mb01/
http://logicalread.com/sql-server-primary-key-vs-clustered-index-part-3-mb01/
馬克荷馬在這里有一個很好的答案:
https://meta.stackoverflow.com/questions/382341/how-to-include-an-sql-server-execution-plan-to-a-stack-overflow-question
Brent Ozar 網站的鏈接非常有用。 當您抓取計划時,請記住在運行之前將 SET STATISTIC XML ON 並在查詢結束時將其設置為 OFF 以獲得更准確的計划。
布倫特的網站:
https://www.brentozar.com/pastetheplan/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.