ユニーク制約の一部としてテーブル変数にインデックスを暗黙的に作成できます。
以下は、他のアンサーと全く同じインデックスを作成します(ただし、CIはそこで省略されたユニークとして宣言されます)。 UNIQUE(fundid、startdate、id)
には、その回答の2番目のインデックスにはない追加のキー列が含まれているように見えますが、クラスタードインデックスキーが含まれているため暗黙的にそこに含まれますすべての一意でない非クラスター化インデックスのキーレベル
DECLARE @SearchReviseBudget TABLE(
id INT IDENTITY(1, 1) PRIMARY KEY,
fundid BIGINT,
programid BIGINT ,
projectid BIGINT,
applicationnumber VARCHAR(50),
applicationname VARCHAR(100),
startdate DATETIME,
enddate DATETIME,
programtypeidfkid VARCHAR(50),
applicationbudget MONEY,
utlized MONEY ,
[Left] MONEY,
companyname VARCHAR(100),
multiyearbudgetid BIGINT,
totalprogrambudget MONEY ,
UNIQUE(fundid, startdate,id)
)
テーブルの変数には、行総数以外の統計情報は保持されていません(使用するには OPTION(RECOMPILE)
を使用する必要があります)ので、 #temp
テーブルはとにかくより良い選択であることが多い。