結合テーブルのすべてのエントリを常にインデックス化する必要がありますか?
両方の列を一緒にインデックス化してもあまりメリットがないと思いますが、各列には独自のインデックスが必要ですか?
結合テーブルのすべてのエントリを常にインデックス化する必要がありますか?
両方の列を一緒にインデックス化してもあまりメリットがないと思いますが、各列には独自のインデックスが必要ですか?
私が通常行う多対多の関係テーブルについて話していると仮定します
CREATE TABLE FooBar
(
FooId int NOT NULL REFERENCES Foo(FooId),
BarId int NOT NULL REFERENCES Bar(BarId),
PRIMARY KEY (FooId, BarId ),
UNIQUE (BarId, FooId )
)
これにより、重複する行が追加されないことが保証され、(SQL Server およびおそらくすべての RDBMS で) 暗黙的に両方に複合インデックスが作成されFooId, BarId
ますBarId,FooId
。.Bar
Foo
作成された 2 つの複合インデックスは、これらのクエリをカバーします。