|
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
|
Traduzione
Originale
|
CREATE COLUMNSTORE INDEX (Transact-SQL)
Nota
|
|---|
|
|
CREATE [ NONCLUSTERED ] COLUMNSTORE INDEX index_name
ON <object> ( column [ ,...n ] )
[ WITH ( <column_index_option> [ ,...n ] ) ]
[ ON {
{ partition_scheme_name ( column_name ) }
| filegroup_name
| "default"
}
]
[ ; ]
<object> ::=
{
[database_name. [schema_name ] . | schema_name . ]
table_name
{
<column_index_option> ::=
{
DROP_EXISTING = { ON | OFF }
| MAXDOP = max_degree_of_parallelism
}
-
char e varchar -
nchar e nvarchar (ad eccezione di varchar(max) e nvarchar(max)) -
decimal (e numeric), ad eccezione dei valori con precisione maggiore di 18 cifre. -
int , bigint, smallint e tinyint -
float (e real) -
bit
-
money e smallmoney -
Tutti i tipi di dati relativi a data e ora (ad eccezione di datetimeoffset con scala maggiore di 2)
-
binary e varbinary -
ntext , text e image -
varchar(max) e nvarchar(max) -
uniqueidentifier
-
rowversion (e timestamp) -
sql_variant
-
decimal (e numeric) con precisione maggiore di 18 cifre. -
datetimeoffset con scala maggiore di 2 -
Tipi CLR (hierarchyid e tipi spaziali) -
xml
Limitazioni di base
-
Non può includere più di 1024 colonne. -
Non può essere cluster. Solo disponibili solo indici columnstore non cluster. -
Non può essere un indice univoco. -
Non può essere creato in una vista o in una vista indicizzata. -
Non può includere una colonna di tipo sparse. -
Non può fungere da chiave primaria o da chiave esterna. -
Non può essere modificato tramite l'istruzione ALTER INDEX. Eliminare e ricreare invece l'indice columnstore. (È possibile utilizzare ALTER INDEX per disabilitare e ricompilare un indice columnstore.) -
Non può essere creato tramite la parola chiave INCLUDE. -
Non può includere le parole chiave ASC o DESC per l'ordinamento dell'indice. Gli indici columnstore vengono ordinati in base agli algoritmi di compressione. L'ordinamento comporta molti dei vantaggi a livello di prestazioni.
Non è possibile combinare indici columnstore con le funzionalità seguenti:
-
Compressione di riga e di pagina e formato di archiviazione vardecimal (un indice columnstore è già compresso in un formato diverso). -
Replica -
Rilevamento modifiche -
Change Data Capture -
Filestream
A.Creazione di un indice non cluster semplice
CREATE TABLE SimpleTable (ProductKey [int] NOT NULL, OrderDateKey [int] NOT NULL, DueDateKey [int] NOT NULL, ShipDateKey [int] NOT NULL); GO CREATE CLUSTERED INDEX cl_simple ON SimpleTable (ProductKey); GO CREATE NONCLUSTERED COLUMNSTORE INDEX csindx_simple ON SimpleTable (OrderDateKey, DueDateKey, ShipDateKey); GO
B.Creazione di un indice non cluster semplice tramite tutte le opzioni
CREATE NONCLUSTERED COLUMNSTORE INDEX csindx_simple ON SimpleTable (OrderDateKey, DueDateKey, ShipDateKey) WITH (DROP_EXISTING = ON, MAXDOP = 2) ON "default" GO

Nota