|
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
|
Traducción
Original
|
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 y varchar -
nchar y nvarchar (excepto varchar(max) y nvarchar(max)) -
decimal (y numeric) (excepto con una precisión mayor que 18 dígitos). -
int , bigint, smallint y tinyint. -
float (y real) -
bit
-
money y smallmoney -
Todos los tipos de datos de fecha y hora (excepto datetimeoffset con escala mayor que 2)
-
binary y varbinary -
ntext , text e image -
varchar(max) y nvarchar(max) -
uniqueidentifier
-
rowversion (y timestamp) -
sql_variant
-
decimal (y numeric) con una precisión superior a 18 dígitos -
datetimeoffset con escala mayor que 2 -
Tipos CLR (hierarchyid y tipos espaciales) -
xml
Restricciones básicas
-
No puede tener más de 1024 columnas. -
No puede ser clúster. Solo están disponibles los índices no clúster de almacén de columnas. -
No puede ser un índice único. -
No se puede crear en una vista o una vista indizada. -
No puede incluir ninguna columna dispersa. -
No puede actuar como clave principal ni clave externa. -
No se puede cambiar utilizando la instrucción ALTER INDEX. En su lugar se debe quitar y volver a crear el índice de almacén de columnas. (Puede usar ALTER INDEX para deshabilitar y recompilar un índice de almacén de columnas). -
No se puede crear junto con la palabra clave INCLUDE. -
No puede incluir las palabras clave ASC ni DESC para ordenar el índice. Los índices de almacén de columnas se ordenan de acuerdo con los algoritmos de compresión. La ordenación eliminaría muchas mejoras de rendimiento.
Los índices de almacén de columnas no se pueden combinar con las siguientes características:
-
Compresión de página y fila, y formato de almacenamiento vardecimal (un índice de almacén de columnas ya está comprimido en un formato diferente). -
Replicación -
Seguimiento de cambios -
Captura de datos modificados -
Secuencia de archivos
A.Crear un índice no clúster sencillo
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.Crear un índice no clúster sencillo utilizando todas las opciones
CREATE NONCLUSTERED COLUMNSTORE INDEX csindx_simple ON SimpleTable (OrderDateKey, DueDateKey, ShipDateKey) WITH (DROP_EXISTING = ON, MAXDOP = 2) ON "default" GO

Nota