Clustered Index Seek プラン表示操作
更新 : 2006 年 12 月 12 日
Clustered Index Seek 操作は、インデックスのシーク機能を使用してクラスタ化インデックスから行を取得します。Argument 列には、使用されているクラスタ化インデックスの名前と SEEK:() 述語が含まれます。ストレージ エンジンはインデックスを使用して、この SEEK:() 述語に適合する行だけを処理します。また、WHERE:() 述語を含めることもできます。この場合、ストレージ エンジンは、SEEK:() 述語に適合するすべての行が WHERE:() 述語に適合するかどうかを評価します。ただし、WHERE:() 述語は省略可能であり、処理を行うときにインデックスを使用しません。
Argument 列に ORDERED 句が含まれている場合、行をクラスタ化インデックスの並べ替え順で返す必要があることが、クエリ プロセッサによって判断されます。ORDERED 句がない場合、ストレージ エンジンが最適な方法でインデックスを検索します。ただし、出力が並べ替えられるとは限りません。出力で行の順序を保持する場合、並べ替えられていない出力に比べて効率が低下することがあります。
LOOKUP キーワードを指定すると、ブックマーク参照が行われます。SQL Server 2005 Service Pack 2 では、Key Lookup 操作によってブックマーク参照機能が提供されます。
Clustered Index Seek は、論理操作でもあり、物理操作でもあります。
グラフィカルな実行プランのアイコン
例
次の例では、クラスタ化インデックスのあるテーブルから行を削除します。実行プランの出力には、クエリ オプティマイザで指定された行を取得するために Clustered Index Seek 操作を使用することが示されています。
USE AdventureWorks;
GO
SET NOCOUNT ON;
GO
SET SHOWPLAN_ALL ON;
GO
SELECT Name
FROM Production.UnitMeasure
WHERE UnitMeasureCode BETWEEN 'Each' AND 'Inch';
GO
SET SHOWPLAN_ALL OFF;
Clustered Index Seek 操作の実行プラン出力は次のようになります。
PhysicalOp
-----------------------------------------------------------------------
Clustered Index Seek
Argument
-----------------------------------------------------------------------
OBJECT:([AdventureWorks].[Production].[UnitMeasure].[PK_UnitMeasure_UnitMeasureCode]),
SEEK:([AdventureWorks].[Production].[UnitMeasure].[UnitMeasureCode] >=
CONVERT_IMPLICIT(nvarchar(4000),[@1],0) AND
[AdventureWorks].[Production].[UnitMeasure].[UnitMeasureCode]
<= CONVERT_IMPLICIT(nvarchar(4000),[@2],0)) ORDERED FORWARD
参照
処理手順
関連項目
Clustered Index Scan プラン表示操作
Key Lookup プラン表示操作
概念
論理操作と物理操作のリファレンス
クラスタ化インデックスの構造
プラン表示 SET オプションを使用した実行プランの表示 (Transact-SQL)
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 12 月 12 日 |
|
2006 年 7 月 17 日 |
|