Fa l'ordine delle colonne in una questione di indice columnstore?
-
22-10-2019 - |
Domanda
Ho una tabella con ~ 200 milioni di righe e colonne ~ 15 in esso. Sto progettando di creare un indice COLUMNSTORE
sul mio tavolo.
Ci sarà alcun cambiamento nelle prestazioni in base all'ordine di colonne che uso nell'indice columnstore? Se sì, qual è la logica dietro di esso?
Soluzione
No, l'ordine non importa. Ogni colonna è considerato singolarmente.
Dal team di SQL Server (enfasi aggiunta):
In genere si consiglia di mettere tutte le colonne nella tabella nell'indice columnstore. Non importa quale ordine si elencano le colonne a causa di un indice columnstore non dispone di una chiave come un B-tree indice fa. Internamente, i dati saranno ri-ordinati automaticamente per ottenere la migliore compressione.
Altri suggerimenti
ordine non importa, ciò che conta se che si dovrebbe includere tutte le colonne della tabella di base dell'indice columnstore - più via mia precedente risposta a questa domanda qui
In SQL Server 2012-2016 si ha il concetto di eliminazione Segment ( http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elimination.aspx ) e in realtà si può forzare l'dell'ordine di almeno 1 colonna (più 1 in più all'interno di ogni della partizione).
Si consideri il seguente articolo che spiega il caricamento dei dati per una migliore eliminazione segmento: dati di carico per una migliore segmento eliminazione
C'è un grande risposta esistente da Aaron dal 2012, Per espandere su quel ...
indici??Con SQL Columnstore 2014+ avete cluster disponibili. Quando si crea un indice columnstore cluster non ci sono la selezione delle colonne o opzioni di acquisto disponibili. rilevamenti Columnstore Descritto