Share via


Utilizzo di indici columnstore non cluster

Vengono descritte le attività chiave per l'uso di un indice columnstore non cluster in una tabella SQL Server.

Per una panoramica di indici columnstore, vedere Columnstore Indexes Described.

Per informazioni sugli indici columnstore cluster, vedere Using Clustered Columnstore Indexes.

Contenuto

Creare un indice columnstore non cluster

Per caricare i dati in un indice columnstore non cluster, caricare prima i dati in una tabella rowstore tradizionale archiviata come heap o indice cluster e quindi usare CREATE COLUMNSTORE INDEX (Transact-SQL) per creare un indice columnstore.

Caricamento di dati in un indice columnstore Caricamento di

Modificare i dati in un indice columnstore non cluster

Dopo aver creato un indice columnstore non cluster in una tabella, non è possibile modificare i dati direttamente nella tabella. Se si esegue una query con INSERT, UPDATE, DELETE o MERGE viene restituito un messaggio di errore. Per aggiungere o modificare i dati nella tabella, è possibile effettuare una delle operazioni seguenti:

  • Disabilitare l'indice columnstore. È possibile aggiornare i dati nella tabella. Se si disabilita l'indice columnstore, è possibile ricompilare l'indice columnstore al termine dell'aggiornamento dei dati. Ad esempio:

    ALTER INDEX mycolumnstoreindex ON mytable DISABLE;
    -- update mytable --
    ALTER INDEX mycolumnstoreindex on mytable REBUILD
    
  • Eliminare l'indice columnstore, aggiornare la tabella e quindi ricreare l'indice columnstore con CREATE COLUMNSTORE INDEX. Ad esempio:

    DROP INDEX mycolumnstoreindex ON mytable
    -- update mytable --
    CREATE NONCLUSTERED COLUMNSTORE INDEX mycolumnstoreindex ON mytable;
    
    
  • Caricare i dati in una tabella di staging che non dispone di un indice columnstore. Compilare un indice columnstore nella tabella di staging. Passare la tabella di staging in una partizione vuota della tabella principale.

  • Passare una partizione della tabella con l'indice columnstore in una tabella di staging vuota. Se è presente un indice columnstore nella tabella di staging, disabilitare l'indice columnstore. Eseguire gli aggiornamenti. Compilare o ricompilare l'indice columnstore. Passare la tabella di staging nuovamente nella partizione (ora vuota) della tabella principale.