Certainement pas l'option 2. Si vous n'avez pas besoin des données, ne les récupérez pas. Simple. Il serait incroyablement inefficace de se joindre à des tables (en particulier les grandes) lorsque vous n'avez pas besoin des données. Vous pouvez choisir l'option 1 ou utiliser SQL dynamique pour créer la requête. Je rassemblerais ensuite des cas de test et exécuterais le plan d'exécution pour voir comment votre requête se comporte.