Clustered Index Insert プラン表示操作

Clustered Index Insert プラン表示操作では、Argument 列で指定されているクラスター化インデックスに、入力からの行が挿入されます。また、Argument 列には、各列に設定する値を示す SET:() 述語も含まれます。Clustered Index Insert が挿入値として使用する子を持っていない場合、挿入される行は、Insert 操作自体から取得されます。

Clustered Index Insert は物理操作です。

Clustered Index Insert 操作アイコングラフィカルな実行プランのアイコン

次の例では、クラスター化インデックスのあるテーブルに行を挿入します。実行プランの出力には、クエリ オプティマイザーで行を挿入するために Clustered Index Insert 操作が使用されることが示されています。

USE AdventureWorks2008R2;
GO
SET NOCOUNT ON;
GO
SET SHOWPLAN_ALL ON;
GO
INSERT INTO Production.UnitMeasure
VALUES (N'F2', N'Square Feet', GETDATE());
GO

USE AdventureWorks2008R2;
GO
SET NOCOUNT ON;
GO
SET SHOWPLAN_ALL ON;
GO
INSERT INTO Production.UnitMeasure
VALUES (N'F2', N'Square Feet', GETDATE());
GO

Clustered Index Insert 操作の実行プラン出力は次のようになります。

PhysicalOp

-----------------------------------------------------------------------

Clustered Index Insert

Argument

-----------------------------------------------------------------------

OBJECT:([AdventureWorks2008R2].[Production].[UnitMeasure].[PK_UnitMeasure_UnitMeasureCode]),

OBJECT:([AdventureWorks2008R2].[Production].[UnitMeasure].[AK_UnitMeasure_Name]),

SET:([AdventureWorks2008R2].[Production].[UnitMeasure].[UnitMeasureCode] =

RaiseIfNull([Expr1003]),[AdventureWorks2008R2].[Production].[UnitMeasure].[Name] =

RaiseIfNull([Expr1004]),[AdventureWorks2008R2].[Production].[UnitMeasure].[ModifiedDate] = RaiseIfNull(getdate())),

DEFINE:([Expr1003]=CONVERT_IMPLICIT(nchar(3),[@1],0),

[Expr1004]=CONVERT_IMPLICIT(nvarchar(50),[@2],0), [ConstExpr1006]=getdate())