Dipende.
Dipende totalmente da cosa stai visualizzando attraverso la vista. Ma molto probabilmente riducendo il tuo sforzo e dando prestazioni più elevate. Quando l'istruzione SQL fa riferimento a una vista non indicizzata, il parser e Query Optimizer analizzano l'origine sia dell'istruzione SQL che della vista e quindi le risolvono in un unico piano di esecuzione. Non esiste un piano per l'istruzione SQL e un piano separato per la vista.
Una vista non è compilata . È un tavolo virtuale composto da altri tavoli. Quando lo crei, non risiede da qualche parte sul tuo server. Le query sottostanti che compongono la vista sono soggette agli stessi miglioramenti o ammaccature in termini di prestazioni di Query Optimizer. Non ho mai testato le prestazioni su una vista rispetto alla query sottostante, ma immagino che le prestazioni possano variare leggermente. È possibile ottenere prestazioni migliori su una vista indicizzata se i dati sono relativamente statici. Questo potrebbe essere quello che stai pensando forse in termini di "compilato".
Vantaggi delle visualizzazioni:
- Visualizza i dati senza memorizzare i dati nell'oggetto.
- Limita la visualizzazione di una tabella, ad esempio può nascondere alcune colonne nelle tabelle.
- Unisciti a due o più tabelle e mostralo come un oggetto all'utente.
- Limita l'accesso a una tabella in modo che nessuno possa inserire le righe nella tabella.
Vedi questi link utili:
- Prestazioni di VIEW rispetto all'istruzione SQL
- Una visualizzazione è più veloce di una semplice domanda?
- VISUALIZZA MySQL e query PHP
- MySql Views è dinamico ed efficiente?
- Vista materializzata vs. tabelle:Quali sono i vantaggi?
- È in corso una query in una vista più lenta rispetto all'esecuzione diretta di SQL?
- Una soluzione per i problemi di prestazioni delle viste TEMPTABLE
Visualizza i miglioramenti delle prestazioni utilizzando le viste indicizzate in SQL Server