1

結合テーブルのすべてのエントリを常にインデックス化する必要がありますか?

両方の列を一緒にインデックス化してもあまりメリットがないと思いますが、各列には独自のインデックスが必要ですか?

4

1 に答える 1

3

私が通常行う多対多の関係テーブルについて話していると仮定します

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。.BarFoo

作成された 2 つの複合インデックスは、これらのクエリをカバーします。

于 2013-07-28T11:00:47.940 に答える