このクエリの場合:
Select *
from A join
B
on A.id1 = B.id1 and A.id2 = B.id2
where A.year = 2016 and B.year = 2016;
A(year, id1, id2)
のインデックスをお勧めします および B(id1, id2, year)
.
クエリを次のように書くこともできます:
Select *
from A join
B
on A.id1 = B.id1 and A.id2 = B.id2 and A.year = B.year
where A.year = 2016;
あなたの質問に対する答えは「はい」で、インデックスは B
にあります するのが正しいことです。このバージョンでは、インデックス内の列の順序は重要ではありません。