Social Icons

twitter facebook google plus linkedin

viernes, 30 de marzo de 2012

ColumnStore Index

Casi un mes de ausencia, pero he vuelto "  totalmente reformado fino, culto y educado y agradecido de haber encontrado el sendero abandonado , con un trema bastante interesante y útil que se puede aprovechar en la nueva versión de SQL Server. Esto es ColumnStore Index.

ColumnStore Index funciona de una forma muy sencilla. Se encarga de indizar columnas en páginas distintas, lo que hace que se incremente el rendimiento de la consulta.



En las imágenes de ejemplo, se puede ver una tabla almacenada en una página. En la segunda imagen se ve una tabla con índices columnares. Es justamente así como trabaja este tipo de índices. Cada columna se indiza en páginas distinas, acelerando las consultas y disminuyendo el uso de los recursos del sistema.

Para implementar indices columnares, se debe usar esta sentencia:
CREATE NONCLUSTERED COLUMNSTORE INDEX MiIndice ON MiTabla
(
Columna1,
Columna2,
ColumnaN,
Columna16
)

Vean estos dos escenarios y se darán cuenta de la potencia de este tipo de indices.

[caption id="attachment_1247" align="alignnone" width="300" caption="Fijarse en el Estimated I/O Cost"]Consulta sin ColumnStore Index[/caption]

[caption id="attachment_1246" align="alignnone" width="300" caption="Fijarse en el Estimated I/O Cost"]Fijarse en el Estimated I/O Cost[/caption]

Saludos!

 

Imágenes sacadas desde: http://sql-articles.com/articles/general/columnstore-indexsql-server-2011/

martes, 27 de marzo de 2012

Replicar tabla en SQL Server

Hola Gente, después de  un mes de desaparición total, he vuelto con la respuesta a una problemática que se da muchas veces.

El problema es el siguiente: Replicación de una tabla

Tenemos dos soluciones para esto:

Replicar solo la estructura
SELECT * INTO TablaDeDestino FROM TablaDeOrigen WHERE 1 = 2

Replicar estructura y datos
SELECT * INTO TablaDeDestino FROM TablaDeOrigen

Con esto, no se copian los constraints ni los índices.

 

¡Saludos!