Definitivamente não é a opção 2. Se você não precisa dos dados, não os recupere. Simples. Seria incrivelmente ineficiente juntar tabelas (especialmente as grandes) quando você não precisa dos dados. Você pode ir com a opção 1 ou usar SQL dinâmico para construir a consulta. Eu então juntaria alguns casos de teste e executaria o plano de execução para ver o desempenho da sua consulta.