Microsoft SQL Serverでは、テーブルを作成するときに、列に一意性を設定する必要がない場合でも、列に一意性制約を使用することの欠点はありますか?
例としては、ユーザー管理システムでの役割などの説明があります。
CREATE TABLE Role
(
ID TINYINT PRIMARY KEY NOT NULL IDENTITY(0, 1),
Title CHARACTER VARYING(32) NOT NULL UNIQUE,
Description CHARACTER VARYING(MAX) NOT NULL UNIQUE
)
私の恐れは、他のテーブルに頻繁に挿入するときにこの制約を検証することは、非常に時間のかかるプロセスになることです。この制約がどのように検証されるかはわかりませんが、非常に効率的な方法で、または線形比較として実行できると思います。