av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server的執(zhí)行計劃

瀏覽:126日期:2023-05-02 10:03:26
目錄
  • 一、背景
  • 二、顯示和保存執(zhí)行計劃
  • 三、顯示估計的執(zhí)行計劃
  • 四、顯示實際執(zhí)行計劃
  • 五、以 XML 格式保存執(zhí)行計劃
  • 六、比較和分析執(zhí)行計劃
    • 6.1、比較執(zhí)行計劃
    • 6.2、分析實際執(zhí)行計劃
  • 總結(jié)

    一、背景

    為了能夠執(zhí)行查詢,SQL Server 數(shù)據(jù)庫引擎必須分析該語句,以確定訪問所需數(shù)據(jù)的最有效方法。此分析由稱為查詢優(yōu)化器的組件處理。查詢優(yōu)化器的輸入由查詢、數(shù)據(jù)庫架構(gòu)(表和索引定義)和數(shù)據(jù)庫統(tǒng)計信息組成。查詢優(yōu)化器的輸出是查詢執(zhí)行計劃,有時稱為查詢計劃或執(zhí)行計劃。

    查詢執(zhí)行計劃是以下內(nèi)容的定義:

    • 訪問源表的順序。通常,數(shù)據(jù)庫服務(wù)器可以在許多序列中訪問基表以生成結(jié)果集。
    • 用于從每個表中提取數(shù)據(jù)的方法。通常,訪問每個表中的數(shù)據(jù)有不同的方法。如果只需要具有特定鍵值的幾行,則數(shù)據(jù)庫服務(wù)器可以使用索引。如果表中的所有行都是必需的,數(shù)據(jù)庫服務(wù)器可以忽略索引并執(zhí)行表掃描。如果表中的所有行都是必需的,但有一個索引的鍵列位于 中,則執(zhí)行索引掃描而不是表掃描可能會保存單獨的結(jié)果集。如果表非常小,則表掃描可能是幾乎所有訪問表的最有效方法。
    • 用于計算計算的方法,以及如何篩選、聚合和排序每個表中的數(shù)據(jù)。從表中訪問數(shù)據(jù)時,有不同的方法可以對數(shù)據(jù)執(zhí)行計算(例如計算標量值),以及聚合和排序查詢文本中定義的數(shù)據(jù),以及如何篩選數(shù)據(jù)。

    二、顯示和保存執(zhí)行計劃

    執(zhí)行計劃以圖形方式顯示 SQL Server 查詢優(yōu)化器選擇的數(shù)據(jù)檢索方法。執(zhí)行計劃使用圖標而不是 SET SHOWPLAN_ALL或 SET SHOWPLAN_TEXT 語句生成的表格表示形式來表示 SQL Server 中特定語句和查詢的執(zhí)行開銷。這種圖形方法對于了解查詢的性能特征非常有用。

    雖然 SQL Server 查詢優(yōu)化器只生成一個執(zhí)行計劃,但存在估計執(zhí)行計劃和實際執(zhí)行計劃的概念。

    • 估計的執(zhí)行計劃返回查詢優(yōu)化器在編譯時生成的執(zhí)行計劃。生成估計的執(zhí)行計劃不會實際執(zhí)行查詢或批處理,因此不包含任何運行時信息,例如實際資源使用情況指標或運行時警告。
    • 實際執(zhí)行計劃返回查詢優(yōu)化器生成的執(zhí)行計劃,并在查詢或批處理完成后返回執(zhí)行計劃。這包括有關(guān)資源使用情況指標和任何運行時警告的運行時信息。

    三、顯示估計的執(zhí)行計劃

    生成估計的執(zhí)行計劃時,不會執(zhí)行 T-SQL 查詢或批處理。因此,估計的執(zhí)行計劃不包含任何運行時信息,例如實際資源使用情況指標或運行時警告。相反,生成的執(zhí)行計劃顯示 SQL Server 數(shù)據(jù)庫引擎在實際執(zhí)行查詢時最有可能使用的查詢執(zhí)行計劃,并顯示流經(jīng)計劃中多個運算符的估計行。

    若要使用此功能,用戶必須具有執(zhí)行要為其生成圖形執(zhí)行計劃的 T-SQL 查詢的適當權(quán)限,并且必須向他們授予查詢引用的所有數(shù)據(jù)庫的 SHOWPLAN 權(quán)限。

    通過 SSMS、EXPLAIN 和 SET SHOWPLAN_XML的估計執(zhí)行計劃可用于 Azure Synapse Analytics 中的專用 SQL 池(以前稱為 SQL DW)和專用 SQL 池。

    注意:使用 SET SHOWPLAN_XML返回每個語句的執(zhí)行計劃信息而不執(zhí)行它。

    四、顯示實際執(zhí)行計劃

    實際執(zhí)行計劃是在執(zhí)行 T-SQL 查詢或批處理后生成的。因此,實際執(zhí)行計劃包含運行時信息,例如實際資源使用指標和運行時警告(如果有)。生成的執(zhí)行計劃顯示 SQL Server 數(shù)據(jù)庫引擎用于執(zhí)行查詢的實際查詢執(zhí)行計劃。

    若要使用此功能,用戶必須具有執(zhí)行正在為其生成圖形執(zhí)行計劃的 Transact-SQL 查詢的適當權(quán)限,并且必須向他們授予查詢引用的所有數(shù)據(jù)庫的 SHOWPLAN 權(quán)限。

    五、以 XML 格式保存執(zhí)行計劃

    要執(zhí)行計劃功能或使用 XML 顯示計劃 SET 選項,用戶必須具有執(zhí)行要為其生成執(zhí)行計劃的 Transact-SQL 查詢的適當權(quán)限,并且必須向他們授予查詢引用的所有數(shù)據(jù)庫的 SHOWPLAN 權(quán)限。

    使用以下語句打開SHOWPLAN_XML:

    SET SHOWPLAN_XML ON;  GO

    若要打開統(tǒng)計信息 XML,請使用以下語句:

    SET STATISTICS XML ON;  GO

    執(zhí)行查詢:

    USE AdventureWorks2012;  GO  SET SHOWPLAN_XML ON;  GO  -- Execute a query.  SELECT BusinessEntityID   FROM HumanResources.Employee  WHERE NationalIDNumber = "509647174";  GO  SET SHOWPLAN_XML OFF;

    六、比較和分析執(zhí)行計劃

    執(zhí)行計劃以圖形方式顯示 SQL Server 查詢優(yōu)化器選擇的數(shù)據(jù)檢索方法。執(zhí)行計劃使用圖標而不是 SET SHOWPLAN_ALL或 SET SHOWPLAN_TEXT 語句生成的表格表示形式來表示 SQL Server 中特定語句和查詢的執(zhí)行開銷。這種圖形方法對于理解查詢的性能特征非常有用。

    SQL Server Management Studio 包含的功能允許用戶比較兩個執(zhí)行計劃(例如,同一查詢的感知好計劃和壞計劃),并執(zhí)行根本原因分析。還包括執(zhí)行單個查詢計劃分析的功能,允許通過分析查詢的執(zhí)行計劃來深入了解可能影響查詢性能的方案。

    6.1、比較執(zhí)行計劃

    出于故障排除原因,數(shù)據(jù)庫專業(yè)人員可能必須執(zhí)行比較計劃的功能:

    • 查找查詢或批處理突然變慢的原因。
    • 了解查詢重寫的影響。
    • 觀察引入架構(gòu)設(shè)計的特定性能增強更改(如新索引)如何有效地更改執(zhí)行計劃。

    可以在以下兩者之間進行比較:

    • 兩個以前保存的執(zhí)行計劃文件(擴展名為 .sqlplan)。
    • 一個活動的執(zhí)行計劃和一個以前保存的查詢執(zhí)行計劃。
    • 查詢存儲中的兩個選定查詢計劃。

    比較兩個執(zhí)行計劃時,計劃中執(zhí)行基本相同的區(qū)域?qū)⒁韵嗤念伾蛨D案突出顯示。單擊一個計劃中的顏色區(qū)域會將另一個計劃居中放在該計劃中的匹配節(jié)點上。仍然可以比較執(zhí)行計劃的不匹配運算符和節(jié)點,但在這種情況下,必須手動選擇要比較的運算符。

    6.2、分析實際執(zhí)行計劃

    查詢性能故障排除需要在了解查詢處理和執(zhí)行計劃方面具有豐富的專業(yè)知識,以便能夠?qū)嶋H查找和修復根本原因。

    SQL Server Management Studio 包括在實際執(zhí)行計劃分析任務(wù)中實現(xiàn)某種程度自動化的功能,尤其是對于大型和復雜的計劃。目標是更輕松地查找基數(shù)估計不準確的方案,并獲取有關(guān)可能可用的緩解措施的建議。

    總結(jié)

    • 實際執(zhí)行計劃是在事務(wù)處理 SQL 查詢或批處理執(zhí)行后生成的。因此,實際執(zhí)行計劃包含運行時信息,例如實際行數(shù)、資源使用指標和運行時警告(如果有)。
    • 只有考慮更改計劃形狀的節(jié)點才會用于檢查相似性。因此,在計劃同一子部分中的兩個節(jié)點的中間可能存在一個未著色的節(jié)點。在這種情況下,缺少顏色意味著在檢查部分是否相等時未考慮節(jié)點。
    • 在將建議的緩解措施應(yīng)用于生產(chǎn)環(huán)境之前,請確保對其進行適當?shù)臏y試。

    到此這篇關(guān)于SQL Server的執(zhí)行計劃的文章就介紹到這了,更多相關(guān)SQL執(zhí)行計劃內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標簽: MsSQL
    相關(guān)文章:
    主站蜘蛛池模板: 人人做人人澡人人爽欧美 | 在线国产一区二区 | 国产在线一区二区三区 | 高清久久 | 免费日韩网站 | 亚洲成人一区二区 | 亚洲精品久久久久久久不卡四虎 | 久久久久久久久久久久久九 | 精品一区二区在线看 | 一级大片网站 | 美女爽到呻吟久久久久 | 精品久久久久久亚洲精品 | 久久久久久久国产精品 | 久久久国产一区二区三区 | 夜夜操天天干 | 日韩精品久久一区二区三区 | 99精品国产一区二区青青牛奶 | 成人免费大片黄在线播放 | 国产黄色大片在线免费观看 | 午夜电影一区二区 | 欧美大片在线观看 | 我想看国产一级毛片 | 亚洲视频在线看 | 亚洲精品欧美 | 91久色| 国产精品大片 | 日韩在线一区二区 | 欧美午夜一区二区三区免费大片 | 亚洲精品国产精品国自产在线 | 久久免费国产 | 中文字幕在线免费观看 | 欧美日韩国产高清视频 | 亚洲乱码一区二区 | 国产一区二区三区免费 | 在线观看毛片网站 | 999国产视频 | 精品免费视频 | 亚洲最大的黄色网址 | 视频一区二区在线观看 | 中文字幕av亚洲精品一部二部 | 99亚洲精品|