Depende.
Depende totalmente do que você está vendo através da visualização. Mas provavelmente reduzindo seu esforço e dando maior desempenho. Quando a instrução SQL faz referência a uma exibição não indexada, o analisador e o otimizador de consulta analisam a origem da instrução SQL e da exibição e as resolvem em um único plano de execução. Não há um plano para a instrução SQL e um plano separado para a exibição.
Uma visualização não é compilada . É uma mesa virtual composta por outras mesas. Quando você o cria, ele não reside em algum lugar do seu servidor. As consultas subjacentes que compõem a exibição estão sujeitas aos mesmos ganhos ou perdas de desempenho do otimizador de consultas. Eu nunca testei o desempenho em uma exibição VS sua consulta subjacente, mas imagino que o desempenho possa variar um pouco. Você pode obter melhor desempenho em uma exibição indexada se os dados forem relativamente estáticos. Isso pode ser o que você está pensando talvez em termos de "compilado".
Vantagens das visualizações:
- Visualize os dados sem armazená-los no objeto.
- Restringir a visualização de uma tabela, ou seja, pode ocultar algumas colunas nas tabelas.
- Junte duas ou mais tabelas e mostre-as como um objeto para o usuário.
- Restringir o acesso de uma tabela para que ninguém possa inserir as linhas na tabela.
Veja estes links úteis:
- Desempenho da instrução VIEW vs. SQL
- Uma visualização é mais rápida que uma consulta simples?
- Visualizações do MySQL vs. consulta PHP
- As visualizações do MySQL são dinâmicas e eficientes?
- Visualização materializada vs. tabelas:Quais são as vantagens?
- Está consultando em uma visão mais lenta do que executar o SQL diretamente?
- Uma solução para os problemas de desempenho das visualizações TEMPTABLE
Veja ganhos de desempenho usando exibições indexadas no SQL Server