Esercizio - Usare la distribuzione delle tabelle e gli indici per migliorare le prestazioni
Creare una tabella con distribuzione hash con un indice columnstore cluster
Selezionare l'hub Sviluppo.
Nel menu Sviluppo selezionare il pulsante +(1) e scegliere Script SQL (2) dal menu di scelta rapida.
Nel menu della barra degli strumenti connettersi al database del pool SQL per eseguire la query.
Nella finestra della query sostituire lo script con il codice seguente:
CREATE TABLE [wwi_perf].[Sale_Hash] WITH ( DISTRIBUTION = HASH ( [CustomerId] ), CLUSTERED COLUMNSTORE INDEX ) AS SELECT * FROM [wwi_perf].[Sale_Heap]
Scegliere Esegui dal menu della barra degli strumenti per eseguire il comando SQL.
Il completamento della query richiederà fino a 4,5 minuti.
Nota
CTAS è una versione più personalizzabile dell'istruzione SELECT... INTO. SELECT...INTO non consente di modificare il metodo di distribuzione o il tipo di indice come parte dell'operazione. La nuova tabella viene creata usando il tipo di distribuzione predefinito ROUND_ROBIN e la struttura di tabella predefinita dell'indice COLUMNSTORE CLUSTER.
Con CTAS, d'altra parte, è possibile specificare sia la distribuzione dei dati delle tabelle, sia il tipo di struttura delle tabelle.
Nella finestra della query sostituire lo script con quello seguente per visualizzare i miglioramenti delle prestazioni:
SELECT TOP 1000 * FROM ( SELECT S.CustomerId ,SUM(S.TotalAmount) as TotalAmount FROM [wwi_perf].[Sale_Hash] S GROUP BY S.CustomerId ) T
Scegliere Esegui dal menu della barra degli strumenti per eseguire il comando SQL.
Sarà possibile vedere un miglioramento delle prestazioni dell'esecuzione sulla nuova tabella hash rispetto alla prima esecuzione dello script sulla tabella heap. In questo caso, la query viene eseguita in circa metà del tempo.