Fa differenza se si filtra una vista all'interno o all'esterno della vista?
Ad esempio, c'è qualche differenza tra queste due query?
SELECT Id
FROM MyTable
WHERE SomeColumn = 1
O
SELECT Id
FROM MyView
WHERE SomeColumn = 1
Ed MyView
è definito come
SELECT Id, SomeColumn
FROM MyTable
E la risposta è diversa se la tabella di origine si trova su un server collegato?
Lo sto chiedendo perché devo eseguire una query su una tabella di grandi dimensioni (44 milioni di righe) due volte da un server collegato e ottenere un aggregato dei risultati. Voglio sapere se dovrei creare due viste per accedere ai dati, una per ogni query o se riesco a cavarmela con una singola vista e una WHERE
clausola.
UNION ALL
. È molto più semplice utilizzare una vista che dover riscrivere la query UNION ogni volta che ho bisogno dei dati.