sys.dm_db_missing_index_columns (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

インデックスがないデータベース テーブルの列に関する情報を返します。 sys.dm_db_missing_index_columns は動的管理関数です。

構文

sys.dm_db_missing_index_columns(index_handle)  

引数

index_handle
欠落インデックスを一意に識別する整数値です。 次の動的管理オブジェクトから取得できます。

sys.dm_db_missing_index_details (Transact-SQL)

sys.dm_db_missing_index_groups (Transact-SQL)

返されるテーブル

列名 データ型 説明
column_id int 列の ID。
column_name sysname テーブル列の名前。
column_usage varchar(20) クエリでの列の使用方法。 使用可能な値とその説明は次のとおりです。

EQUALITY: 列は、次の形式の等値を表す述語に寄与します。
table.column = constant_value

INEQUALITY: 列は、不等式を表す述語 (例: table.column>constant_value 形式の述語) に寄与します。 "=" 以外の比較演算子はすべて、不等値を表します。

INCLUDE: 列は述語の評価には使用されませんが、クエリをカバーするために別の理由で使用されます。

注釈

によって sys.dm_db_missing_index_columns 返される情報は、クエリがクエリ オプティマイザーによって最適化され、永続化されない場合に更新されます。 不足しているインデックス情報は、データベース エンジンが再起動されるまでのみ保持されます。 欠落インデックスの情報を、サーバーの再利用後も保持する場合は、データベース管理者が情報のバックアップ コピーを定期的に作成する必要があります。 データベース エンジンが最後に起動された時刻を調べるには、sys.dm_os_sys_infosqlserver_start_time を使用します。

トランザクションの一貫性

トランザクションでテーブルを作成または削除する場合、削除されたオブジェクトに関する欠落インデックス情報を含む行は、トランザクションの一貫性を保持するためこの動的管理オブジェクトから削除されます。

アクセス許可

この動的管理関数をクエリするには、VIEW SERVER STATE 権限、または VIEW SERVER STATE が暗黙的に与えられる権限が許可されている必要があります。

SQL Server 2022 以降のアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE 権限が必要です。

次の例では、Address テーブルに対してクエリを実行した後、sys.dm_db_missing_index_columns 動的管理ビューを使用してクエリを実行し、インデックスが欠落しているテーブル列を返します。

USE AdventureWorks2022;  
GO  
SELECT City, StateProvinceID, PostalCode  
FROM Person.Address  
WHERE StateProvinceID = 9;  
GO  
SELECT mig.*, statement AS table_name,  
    column_id, column_name, column_usage  
FROM sys.dm_db_missing_index_details AS mid  
CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)  
INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle  
ORDER BY mig.index_group_handle, mig.index_handle, column_id;  
GO  

不足しているインデックス候補は、可能な限り、互いに結合し、現在のデータベース内の既存のインデックスと組み合わせる必要があります。 これらの候補を適用して、インデックス候補 が見つからない非クラスター化インデックスを調整する方法について説明します。

次のステップ

不足しているインデックス機能の詳細については、次の記事を参照してください。