私は、次のステートメントを実行している:クラスタ化インデックス更新を実行するのはなぜですか?
UPDATE TOP(1) dbo.userAccountInfo
SET Flags = Flags | @AddValue
WHERE ID = @ID;
列 'ID' のIDENTITY制約を持つINT PRIMARY KEYです。 フラグはBIGINT NOT NULLです。
実行パスは、クラスタ化インデックス更新が実行されていることを示します。非常に高価な操作。 主キーを除き、FlagsまたはIDをカバーするインデックスはありません。私は、実際の実行パスのように感じる は次のようになります。
クラスタ化インデックスは=シーク>
インデックスがクラスタ化されておらず、フィールド[フラグ]をカバーしていないことは間違いありませんか? –
クエリのTOP(1)とは何ですか? – BradC
@ Unknown Google: このテーブルには、非クラスタ化IDXが1つしかありません。これはIDとFlagsのどちらにも影響しません。 @ BradC: 私の声明では少し冗長です。 "このステートメントは、まったく1人のユーザーに影響します。"しかし、実際には役に立たない。 – Kivin