DISTINCTではなくEXISTSを使用する
DISTINCTを使用して、重複する行の表示を抑制することができます。 EXISTSを使用して、サブクエリによって返される行の存在を確認します。 DISTINCTは、重複する行を抑制する前に取得した行をソートするため、可能な限り、DISTINCTではなくEXISTSを使用する必要があります。
あなたの場合、重複したデータがたくさんあるので、存在する方が速いはずです。
DISTINCTではなくEXISTSを使用する
DISTINCTを使用して、重複する行の表示を抑制することができます。 EXISTSを使用して、サブクエリによって返される行の存在を確認します。 DISTINCTは、重複する行を抑制する前に取得した行をソートするため、可能な限り、DISTINCTではなくEXISTSを使用する必要があります。
あなたの場合、重複したデータがたくさんあるので、存在する方が速いはずです。