Esercizio - Usare la distribuzione delle tabelle e gli indici per migliorare le prestazioni

Completato

Creare una tabella con distribuzione hash con un indice columnstore cluster

  1. Selezionare l'hub Sviluppo.

    The develop hub is highlighted.

  2. Nel menu Sviluppo selezionare il pulsante +(1) e scegliere Script SQL (2) dal menu di scelta rapida.

    The SQL script context menu item is highlighted.

  3. Nel menu della barra degli strumenti connettersi al database del pool SQL per eseguire la query.

    The connect to option is highlighted in the query toolbar.

  4. 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]
    
  5. Scegliere Esegui dal menu della barra degli strumenti per eseguire il comando SQL.

    The run button is highlighted in the query toolbar.

    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.

  6. 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
    
  7. Scegliere Esegui dal menu della barra degli strumenti per eseguire il comando SQL.

    The run button is highlighted in the query toolbar.

    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.

    The script run time of 6 seconds is highlighted in the query results.