Pienso que las subconsultas siempre serán lentas en cualquier motor, aunque unos puedan hacerlas un poco más eficientes que otros.
Sin estar del todo seguro, yo creo que tu consulta la puedes convertir en un
join con mucho mejores resultados:
Código SQL
[-]
select distinct tabla1.* from tabla1
left join tabla2 on tabla2.cod1 = tabla1.campo1 and tabla2.cod2 = tabla1.campo2
where tabla2.cod1 is not null and tabla2.cod2 is not null
// Saludos