Cela fait-il une différence si vous filtrez une vue à l'intérieur ou à l'extérieur de la vue?
Par exemple, y a-t-il une différence entre ces deux requêtes?
SELECT Id
FROM MyTable
WHERE SomeColumn = 1
Ou
SELECT Id
FROM MyView
WHERE SomeColumn = 1
Et MyView
est défini comme
SELECT Id, SomeColumn
FROM MyTable
Et la réponse est-elle différente si la table source se trouve sur un serveur lié?
Je demande parce que je dois interroger une grande table (lignes 44mil) deux fois à partir d'un serveur lié et obtenir un agrégat des résultats. Je veux savoir si je dois créer deux vues pour accéder aux données, une pour chaque requête, ou si je peux m'en tirer avec une seule vue et une WHERE
clause.
UNION ALL
. Il est beaucoup plus facile d'utiliser une vue que d'avoir à réécrire la requête UNION chaque fois que j'ai besoin des données.