銷售: 1-800-867-1380

sys.dm_db_missing_index_details

更新日期: 2011年4月

這個主題已過時。您可以在 Transact-SQL 參考 (資料庫引擎) 中找到最新版本。

Important重要事項
本主題並未進行維護。如需最新版本,請參閱 sys.dm_db_missing_index_details

傳回有關遺漏索引 (不包含空間索引) 的詳細資訊。

在 Microsoft Azure SQL Database 中,動態管理檢視無法公開會影響資料庫內含項目的資訊或是有關使用者可存取之其他資料庫的資訊。為了避免公開此資訊,包含不屬於連接租用戶之資料的每一個資料列都會被篩選掉。

 

資料行名稱 資料類型 描述

index_handle

int

識別特定的遺漏索引。此識別碼在伺服器中是唯一的。index_handle 是這份資料表的索引鍵。

database_id

smallint

識別具有遺漏索引之資料表的資料庫。

object_id

int

識別遺漏索引所在的資料表。

equality_columns

nvarchar(4000)

作為相等述詞之資料行的逗號分隔清單,述詞格式如下:

table.column =constant_value

inequality_columns

nvarchar(4000)

作為不相等述詞之資料行的逗號分隔清單,例如,格式如下的述詞:

table.column > constant_value

"=" 以外的其他任何比較運算子都可表示不相等。

included_columns

nvarchar(4000)

可作為查詢所需涵蓋資料行之資料行的逗號分隔清單。如需有關涵蓋或內含資料行的詳細資訊,請參閱<Create Indexes with Included Columns

statement

nvarchar(4000)

遺漏索引所在之資料表的名稱。

sys.dm_db_missing_index_details 傳回的資訊會在查詢最佳化工具進行最佳化查詢時更新,而不會一直保存。遺漏索引資訊只會保留到 虛擬機器建立 重新啟動為止。如果資料庫管理員想要在伺服器回收之後保留遺漏索引資訊,應該定期製作該項資訊的備份副本。

若要判斷特定遺漏索引屬於哪些遺漏索引群組,您可以依據 index_handle 資料行,將該遺漏索引與 sys.dm_db_missing_index_details 等聯結,以便查詢 sys.dm_db_missing_index_groups 動態管理檢視。

若要將 sys.dm_db_missing_index_details 傳回的資訊轉換成 CREATE INDEX 陳述式,應該將相等資料行放在不相等資料行前面,而這兩個資料行應該共同形成索引的索引鍵。您應該使用 INCLUDE 子句,將內含資料行加入 CREATE INDEX 陳述式中。若要決定相等資料行的有效次序,請依據其選擇性排列這些資料行:將選擇性最高的資料行列在最前面 (資料行清單的最左邊)。

如果交易建立或卸除資料表,便會從這個動態管理物件中移除包含有關已卸除物件之遺漏索引資訊的資料列,以維持交易的一致性。

需要伺服器的 VIEW DATABASE STATE 權限。無法從 master 資料庫查詢。如需詳細資訊,請參閱<Dynamic Management Objects>。

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2014 Microsoft