Una vista in SQL Server si riferisce a una query memorizzata in un catalogo di database per riferimento futuro. Le viste SQL Server fungono da tabelle virtuali che non contengono dati effettivi da soli. Invece, archiviano una serie di query che è possibile eseguire su una tabella o altri oggetti di database.
Questa guida imparerà come lavorare viste SQL Server e viste indicizzate.
Visualizzazioni del server SQL: le basi
Prima di discutere su come lavorare con viste indicizzate, apprendiamo le basi della creazione di una vista.
Supponiamo di avere un'istruzione selezionata che restituisce un set di risultati. Per esempio:
Usa SalesDB;La query di esempio sopra restituisce i record in cui la quantità è pari a 1000. Se vogliamo utilizzare la stessa query e ottenere un set di risultati simili, possiamo salvarlo in a .File SQL e reinserirlo quando necessario.
Un modo migliore per farlo è creare una vista con la query sopra. Ad esempio, possiamo creare una vista chiamata sopra_thomila come mostrato nella query mostrata di seguito:
Usa SalesDB;Una volta che abbiamo la domanda come vista, possiamo riutilizzarla come:
..La query dovrebbe restituire il set di risultati come:
In SQL Server Management Studio, è possibile visualizzare le viste memorizzate in una tabella navigando a:
Database -> Database di destinazione -> Tabelle -> VisualizzazioniEsistono vari motivi per utilizzare le visualizzazioni in SQL Server. Tuttavia, i principali includono sicurezza e coerenza.
Per eliminare una vista da una tabella, è possibile utilizzare la query di visualizzazione Elimina come mostrato:
Rilascia la vista se esiste top_th migliaia;Visualizzazioni indicizzate SQL Server
Come accennato, una normale vista SQL Server non tiene da sola dati. Contiene una serie di query che producono un set di risultati specifico. Questo aiuta a fornire sicurezza e coerenza. Tuttavia, una vista non fornisce alcun miglioramento delle prestazioni sul set di risultati.
È qui che entrano in gioco le viste indicizzate.
Le viste indicizzate sono come una normale tabella di database perché possono archiviare i dati fisicamente. Questo può essere un ottimo strumento che può aiutare a migliorare le prestazioni di una domanda.
Discutiamo di creare lavoro con viste indicizzate in SQL Server.
Come creare una vista indicizzata?
Ci sono due passaggi chiave durante la creazione di una vista indicizzata in SQL Server:
Facciamo un esempio per capire come utilizzare una vista indicizzata.
Considera la query di esempio di seguito che ha creato una vista indicizzata nella tabella delle vendite.
Crea View Sales_Idexed con schemabinding come vendita selezionata.SalesID, vendite.ProductID, vendite.CustomerID da DBO.Vendite in cui quantità> 1000;Noterai alcune cose diverse da una visione tipica. Innanzitutto, includiamo l'opzione con schemabindig.
Questa opzione garantisce che non è possibile modificare la struttura delle tabelle in un formato che influisce sulla vista materializzata sottostante a meno che non si lasci cadere la vista esistente.
In secondo luogo, la denominazione include un formato in due parti. SQL Server richiede di definire lo schema.oggetto quando si crea una vista indicizzata (nello stesso database).
SUGGERIMENTO: Ricorda che SQL Server aggiornerà le modifiche appliche apportate alle tabelle sottostanti alla vista indicizzata. Questo porta alla scrittura di spese generali per le tabelle referenziate.
Una volta creata la vista, dobbiamo creare un indice cluster. Possiamo creare un indice come:
Crea indice cluster unico My_index su DBO.Sales_indexed (SalesID);La query sopra dovrebbe creare un indice cluster sulla vista. Su SSMS, è possibile visualizzare l'indice cluster come:
Una volta che abbiamo l'indice cluster, possiamo interrogare i dati come:
Seleziona * da DBO.Sales_indexed;SQL Server utilizza la vista Sales_Indexed invece di interrogare le tabelle effettive.
Conclusione
In questo articolo, hai imparato come creare e utilizzare le viste indicizzate in SQL Server, consentendo di creare una vista materializzata.