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_info の sqlserver_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
不足しているインデックス候補は、可能な限り、互いに結合し、現在のデータベース内の既存のインデックスと組み合わせる必要があります。 これらの候補を適用して、インデックス候補 が見つからない非クラスター化インデックスを調整する方法について説明します。
次のステップ
不足しているインデックス機能の詳細については、次の記事を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示