使用查詢分析器調整SQL伺服器_PHP教程

來源:互聯網
上載者:User
我喜歡把SQL伺服器所捆綁的工具看作是倒金字塔型的,診斷和檢查一般問題的工具在頂端,尋找和診斷問題具體地區的工具在底部。除了提供一種編寫SQL指令碼的便捷方式之外,在你需要解決特定SQL指令碼裡明確問題的時候,查詢分析器(Query Analyzer)還是所需要使用的資源。如果你需要指出哪個查詢正在保持著某個特定表格的鎖定狀態,你也會希望使用查詢分析器。
查詢分析器的關鍵診斷特性是它能夠顯示某個查詢的執行計畫。這個執行計畫會向你提供各種類型的有用資訊,例如在查詢的執行期間如何以及何時使用或者不使用索引。它還會提供許多其他的細節,例如排序、平行(parallelism)、嵌套迴圈,以及SQL伺服器在執行指定查詢時必須做的其他事情。
 
計劃的好處
有了查詢分析器,你就可以查看預計計劃而不需要執行查詢本身,或者在查詢執行之後查看真實的計劃。很顯然,真實的計劃會更加準確,因為它是從物理上對資料庫執行查詢的。但是對於系統負載巨大和/或長期的查詢,這種方法可能就不是最好的選擇了。在典型情況下,當我認為某個特定的查詢有問題的時候,或者如果我預計有一個查詢會在應用程式裡被足夠頻繁地調用以至於可能會導致效能問題的時候,我就會運行這個工具。
你可以通過把SQL運算式輸入查詢分析器再按[Ctrl]L來查看預計的執行計畫。執行計畫然後就會顯示在結果(Results)面板的選項卡裡。執行計畫在剛開始的時候可能比較難讀,因為它不像英語一樣是從左往右讀的,而是從右往左讀的。
運行中的計劃
這裡有一個你可以跟著做的例子,從這個例子裡你可以看到如何使用查詢分析器來查看一個執行計畫。考慮一下下面查詢,它會從Northwind資料庫裡返回某個僱員所在的地點和相關地區:

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

這個查詢的結果顯示:一號EmployeeId在東部(Eastern)有兩個地區,A所示。

圖A


查詢結果

http://www.bkjia.com/PHPjc/631122.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631122.htmlTechArticle我喜歡把SQL伺服器所捆綁的工具看作是倒金字塔型的,診斷和檢查一般問題的工具在頂端,尋找和診斷問題具體地區的工具在底部。除了提...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.