SQL SERVER 圖形執行計畫中的表徵圖學習(2)

來源:互聯網
上載者:User

5、對擁有叢集索引表執行T-SQL語句:

    執行下面指令碼:

USE [TestDB]

GO

 

ALTER TABLE dbo.Nums ADD CONSTRAINT

    PK_Nums PRIMARY KEY CLUSTERED

    (

    n

    ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

 

GO

    5.1、語句:SELECT n FROM [TestDB].[dbo].[Nums]

選擇包括實際的執行計畫,我們將看到:

叢集索引掃描(Clustered Index Scan):Clustered Index Scan 運算子掃描在 Argument 列中指定的叢集索引。存在可選的 WHERE:() 謂詞時,則只返回滿足該謂詞的那些行。如果 Argument 列包含 ORDERED 子句,則表示查詢處理器已請求按叢集索引排列行的順序返回行輸出。如果沒有 ORDERED 子句,則儲存引擎將以最佳方式掃描索引,而不需要產生排序輸出。Clustered Index Scan 既是一個邏輯運算子,也是一個物理運算子。

 

    5.2、語句:INSERT INTO [TestDB].[dbo].[Nums] ([n]) VALUES (1000001)

選擇包括實際的執行計畫,我們將看到:

 

叢集索引插入(Clustered Index Insert):Clustered Index Insert 運算子將行從其輸入插入到 Argument 列中指定的叢集索引中。Argument 列中還包含一個 SET:() 謂詞,指示為各個列設定的值。如果 Clustered Index Insert 沒有子級插入值,則插入的行是從插入運算子自身擷取的。Clustered Index Insert 是一個物理運算子。

 

    5.3、語句:UPDATE [TestDB].[dbo].[Nums] SET n = 1000002 WHERE n = 1000001

選擇包括實際的執行計畫,我們將看到:

 

叢集索引更新(Clustered Index Update):Clustered Index Update 運算子用於更新 Argument 列中指定的叢集索引中的輸入行。如果出現 WHERE:() 謂詞,則只更新那些滿足該謂詞的行。如果出現 SET:() 謂詞,則每個已更新的列都將設定為該值。如果出現 DEFINE:() 謂詞,則將列出該運算子定義的值。可以在 SET 子句中、該運算子內的其他位置和該查詢內的其他位置引用這些值。Clustered Index Update 既是一個邏輯運算子,也是一個物理運算子。

 

    5.4、語句:DELETE FROM [TestDB].[dbo].[Nums] WHERE n = 1000002

選擇包括實際的執行計畫,我們將看到:

 

叢集索引刪除(Clustered Index Delete):Clustered Index Delete 運算子從 Argument 列中指定的叢集索引中刪除行。如果 Argument 列中出現 WHERE:() 謂詞,則只刪除滿足該謂詞的行。Clustered Index Delete 是一個物理運算子。

 

    5.4、語句:SELECT n FROM [TestDB].[dbo].[Nums] WHERE n = 1000000

 選擇包括實際的執行計畫,我們將看到:

 

叢集索引尋找(Clustered Index Seek):Clustered Index Seek 運算子可以利用索引的尋找功能從叢集索引中檢索行。Argument 列包含正在使用的叢集索引的名稱和 SEEK:() 謂詞。儲存引擎僅使用索引來處理滿足 SEEK:() 謂詞的行。它還包括 WHERE:() 謂詞,其中儲存引擎對滿足 SEEK:() 謂詞的所有行進行計算,但此操作是可選的,並且不是使用索引來完成的。如果 Argument 列包含 ORDERED 子句,則表示查詢處理器已決定必須按叢集索引排序行的順序返回行。如果沒有 ORDERED 子句,儲存引擎將以最佳方式搜尋索引,而不對輸出進行必要的排序。若允許輸出保持順序,則效率可能比產生非排序輸出的效率低。出現關鍵字 LOOKUP 時,將執行書籤尋找。Clustered Index Seek 既是一個邏輯運算子,也是一個物理運算子。

 

相關文章

聯繫我們

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