質問: TEST6.id ``` インデックスは、 TEST1,TEST2のid TEST4,TEST5のidとname に貼ってます。 内部結合したテーブル同士だと新しい別のテーブル同士の結合になるからインデックスが消えてるということでしょうか? 他に方法があるなら回答お願いします。
回答: 内部結合のあるなしに関わらず、サブクエリには元のテーブルのインデックスは利用できなかったと思います。(何も加工しないテーブルをそのまま抜き出すようなサブクエリなら、オプティマイザ次第ではindexを使ってくれるかも知れませんけど) > > 他に方法があるなら回答お願いします。 > > > このSQLに限定でよければ、恐らく次のSQLでも同じ結果になるのではないでしょうか? ``` selec * from TEST1 inner join TEST2 on TEST1.id = TEST2.id inner join TEST4 on TEST1.id = TEST4.id inner join TEST5 on TEST4.name = TEST5.name ```