銷售: 1-800-867-1380
本文章是由人工翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文
資訊
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

sys.dm_db_missing_index_details (Transact-SQL)

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

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

適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

資料行名稱

資料類型

描述

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)

可作為查詢所需涵蓋資料行之資料行的逗號分隔清單。 如需有關涵蓋或內含資料行的詳細資訊,請參閱<建立內含資料行的索引>。

針對記憶體最佳化的索引 (雜湊和記憶體最佳化非叢集),請忽略 included_columns 每個記憶體最佳化的索引都包含資料表的所有資料行。

陳述式

nvarchar(4000)

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

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

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

在 CREATE INDEX 陳述式中使用遺漏索引資訊

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

如需記憶體最佳化索引的詳細資訊,請參閱<使用記憶體最佳化資料表索引的方針>。

交易一致性

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

使用者必須取得 VIEW SERVER STATE 權限或隱含 VIEW SERVER STATE 權限的任何權限,才能查詢此動態管理檢視。

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

社群新增項目

顯示:
© 2015 Microsoft