成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用SQL Server動態管理視圖的方法

數據庫 SQL Server
SQL Server可以通過動態管理視圖確認缺失索引,下文對該方法的實現過程作了詳盡的闡述,如果您感興趣的話,不妨一看。

我們可以使用SQL Server動態管理視圖確認缺失索引,下面就對這種SQL Server動態管理視圖的方法作詳細的介紹,供您參考。

由于有了很多新功能,我們可以看到在SQL Server 2005和現在有SQL Server 2008中,Microsoft引進了一些動態管理視圖來協助確認基于查詢歷史的可能索引候選人。

這些動態管理視圖是:

n sys.dm_db_missing_index_details –返回關于缺失索引的詳細信息。

n sys.dm_db_missing_index_group_stats - 返回缺失索引組的摘要信息

n sys.dm_db_missing_index_groups – 返回一個具體組的缺失索引的信息。

n sys.dm_db_missing_index_columns(index_handle) – 返回在一個索引中缺失的數據庫表列的信息。這是一個函數,它要求傳遞index_handle。

和大多數動態管理視圖的跟蹤統計數據一樣,當SQL Server實例重啟,這些數據被完全清除時,這些工作方式基本上是一樣的。所以如果你在一個測試環境中工作并且重啟你的SQL Server實例,那么這些視圖有可能不返回數據。

為了啟動,我們將使用一個從SQL Server 2005聯機幫助中得到的實例,這要求從AdventureWorks數據庫中查詢一張表而在StateProvinceID上沒有索引,如下所示:

  1.  USE AdventureWorks;  
  2. GO  
  3. SELECT City, StateProvinceID, PostalCode  
  4. FROM Person.Address  
  5. WHERE StateProvinceID = 1;  
  6. GO 

一旦我們運行了上面的查詢,數據在動態管理視圖中應該可用。讓我們來快速看下每一個查詢。

第一個查詢從sys.dm_db_missing_index_details視圖中獲取數據。這可能是最有用的一個查詢,因為這給我們展示了 object_id、equality_columns 和inequality_columns。另外,我們可以得到關于所含列的其它具體信息。

  1. SELECT * FROM sys.dm_db_missing_index_details 

 

使用SQL Server動態管理視圖確認缺失索引

圖一

所以從上面我們執行的查詢中,我們可以看到下面的信息:

n equality_columns = "StateProvinceID",這是因為這個字段和一個相等運算符在WHERE從句中使用。所以SQL Server告訴我們這將是針對索引的很好的選擇。

n inequality_columns = "NULL",如果你使用其它的運算符比如不相等,那么這個字段將會有數據,但是由于我們使用等號,因此沒有一個字段將在這里使用。

n included_columns =這是當創建一個索引時使用的其它字段。由于這個查詢只使用City、StateProvinceID 和 PostalCode,因此StateProvinceID將在索引中得到處理,當該索引創建時,其它兩個字段可能被用作內嵌的字段。

下一個索引從sys.dm_db_missing_index_group_stats中獲取數據。這個查詢使我們更了解其他統計數據,例如編譯,用戶查找, 用戶掃描等,所以從這里我們可以知道這個查詢多久會被訪問。如果我們創建一個基于這些信息的新索引,這將幫助我們確定多久使用一個索引可以獲得數據。

  1. SELECT * FROM sys.dm_db_missing_index_group_stats 

由于這個查詢我們只執行了一次,因此我們的unique_compiles = 1 ,我們的 user_seeks = 1。如果我們再次運行這個查詢,我們的user_seeks應該會增加。

使用SQL Server動態管理視圖確認缺失索引

圖二

下一個視圖sys.dm_db_missing_index_groups將會給我們提供index_group_handle 和 index_handle的信息。

  1. SELECT * FROM sys.dm_db_missing_index_groups 

使用SQL Server動態管理視圖確認缺失索引

圖三

從上面查詢得到的結果基本上將用于從sys.dm_db_missing_index_columns函數中獲得數據。index_handle值被傳遞到下一個查詢,如下圖所示。

  1. SELECT * FROM sys.dm_db_missing_index_columns(1) 

使用SQL Server動態管理視圖確認缺失索引

圖四

要得到在一個結果集顯示的所有數據,下面從SQL Server 2005聯機幫助中得到的查詢將為我們提供這些數據。

  1. SELECT mig.*, statement AS table_name,  
  2. column_id, column_name, column_usage  
  3. FROM sys.dm_db_missing_index_details AS mid  
  4. CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)  
  5. INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle  
  6. ORDER BY mig.index_group_handle, mig.index_handle, column_id; 

使用SQL Server動態管理視圖確認缺失索引

圖五

總結

n 基于這個例子我們可以看到,我們可以在表AdventureWorks.Person.Address的字段StateProvinceID上創建一個新索引,也可以包括columns City和PostalCode。

n 要注意的是當你在一張表中增加或者刪除索引時,缺失索引的所有統計數據將在這張表中完全清除。

n 盡管這可能不是完美的,也存在一些局限,但是這至少讓我們了解了之前使用SQL Server舊版本時從來不知道的信息。

 

 

 

 

【編輯推薦】

SQL Server資源鎖模式大全

SQL Server查詢結果集中的常量

sql server查詢平均值的實現

SQL Server FROM子句的語法

SQL Server查詢累計值的實現

責任編輯:段燃 來源: 互聯網
相關推薦

2010-11-12 11:19:19

SQL Server視

2010-11-11 17:15:13

SQL Server視

2011-03-29 15:27:26

SQL Server 動態管理

2010-11-12 11:44:37

SQL Server刪

2010-09-27 09:54:26

Sql Server視

2011-04-02 17:21:29

sql server視圖

2010-09-13 11:09:34

SQL SERVER分

2010-07-07 09:02:30

SQL Server內

2010-11-08 09:59:22

SQL Server動

2010-11-11 17:20:51

SQL Server創

2010-07-14 10:11:30

SQL Server系

2011-03-21 15:10:13

SQL Server 視圖*

2011-03-21 10:26:10

SQL Server視圖管理

2010-11-12 11:36:29

SQL Server視

2010-07-19 09:31:53

SQL Server系

2011-04-02 13:37:05

SQL Server 索引視圖

2010-07-12 10:34:58

SQL Server視

2010-07-07 13:18:13

SQL Server視

2010-11-11 16:59:59

SQL Server視

2010-07-19 16:36:13

SQL Server視
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91av视频 | 欧美性一区二区三区 | 国产东北一级毛片 | 97视频在线观看网站 | 精品久久久久久久久久久久久 | 国产精品免费一区二区 | 欧美乱大交xxxxx另类电影 | 成人免费一级 | 亚洲精品视频免费观看 | 久久久久国产 | 欧美a在线看 | 国产美女在线看 | 中文字幕av高清 | 久久精品一级 | 久久综合一区 | 中文字幕精| 精品国产一区探花在线观看 | 国产免国产免费 | 国产福利视频导航 | 免费久 | 在线免费观看黄a | 九色在线观看 | 午夜视频网 | 91精品国产乱码久久久久久久久 | 天天av综合| 99亚洲精品 | 国产美女在线观看 | 九九国产 | 成人小视频在线观看 | 欧美中文字幕一区二区三区亚洲 | 久久777| 亚洲 欧美 日韩在线 | 毛片网站在线观看 | 欧美 日韩精品 | 91视频官网 | 国产激情视频在线 | 九色www| 精品国产不卡一区二区三区 | 精品国产久 | 美女久久| 91看片在线观看 |