joinされたテーブルへのインデックスの貼り方

テーブル1
column1 column2 column3 column4 column5
テーブル2
columnA columnB columnC columnD columnE

SELECT *
FROM
テーブル1 as 1 INNER JOIN テーブル2 asON  1.column3 = 2.columnA 
AND 1.column4 = 2.columnB 
AND 1.column5 = 2.columnC
WHERE 
2.columnD = 条件1
and 
2.columnE = 条件2

こういうSQLがあった場合
テーブル2のインデックスの貼り方は
・columnA,columnB,columnC,columnD
・columnA,columnB.columnC,columnE
・columnA,columnB.columnC,columnD,columnE
こういう結合条件+検索条件かと思っていた
これは間違い


postgresは最初に検索条件で絞り込みを行う為
検索条件のみのインデックスが必要
・columnD
・columnE
・columnD,columnE
・columnA,columnB,columnC
こういう貼り方が正しい