テーブルがあり、where句の検索で頻繁に使用されるフィールドに非クラスター化インデックスを作成しています。include句を使用してインデックスを作成し、その中にすべてのフィールドを配置しています。
元:
Create NonClustered Index IX_DocumentDate on Documents
(
DocumentDate
)
Include(
JurisdictionID,
JudgementTypeID,
IDate,
EfileDate,
UserID,
RecordingDateTime,
ApprovedBy,
ACEfileBankAccountID,
LastStatusChangedDateTime,
ACEfileCreditCardID,
EfiledByUserID,
ITypeID,
IGroupID,
InstrumentID,
OldInstrumentID,
[CreatedByJurisdictionID],
CreatedByAccountID,
[DocumentStatusID]
,[Remarks]
,[InternalNotes]
,[ParentDocumentID]
,[FilingNumber]
,[StampData]
,[Receipt]
,[ReceiptNo]
,[IsReEfiled]
,[ImportedFromInstrumentID]
)
インデックスを作成するだけではありません。これらのフィールドはすべてで使用されSelect
ます。私が間違っているのか知りたかっただけですか?このようにすると、大きなパフォーマンスボーナスが得られます。これで問題がない場合、なぜMicrosoftはこれをデフォルトのオプションとして使用せず、テーブルのすべてのフィールドをに含めなかったのinclude
でしょうか。