UNIQUE になる列 (ただし、テーブルの主キーではない) にインデックスを作成する場合、SQL サーバーではいくつかのオプションを選択できます。
1) 制約またはインデックスを選択できます。
これは、制約として設定すると、クエリ時に使用されず、書き込み時にのみ使用されることを意味すると推測しています。ただし、SQL Server がその制約を強制するための唯一の効率的な方法は、実際にインデックスを作成することです。このオプションの用途は何ですか?
2) また、「インデックス」として設定すると、重複キーを無視するように指定できます。これは私にとって最も不可解です...これは、
制約の反対を意味していると思います。おそらく、「クエリ時には使用するが、書き込み時にはチェックしないでください」という意味です。
しかし、なぜ UNIQUE として設定するのでしょうか?
SQL Server が実行できる最適化がいくつかあると思いますが、それをよりよく理解したいと思います。
SQL Serverがこれらのオプションで何をするのか正確に知っている人はいますか?
インデックスを一意に設定し、重複キーを無視するユースケースは何ですか?
注: これは SQL Server 2000 用です。
編集:しかし、あなたが言ったことによると...制約を作成すると、制約のフィールドを使用してフィルタリングするクエリを高速化するために使用されますか?
ありがとう!