次の方法で共有


sys.dm_db_missing_index_columns (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure 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  

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

次のステップ

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