RSS

Introducción a las columnas Sparse

15 Ene

Sparse

Steve_Jobs

“Ser el hombre más rico del cementerio no me importa. Irme a la cama por la noche diciendo que hemos hecho algo maravilloso, eso es lo que me importa.” – Steven Paul Jobs mejor conocido como Steve Jobs – (1955-2011) – Emprendedor y Empresario Estadounidense.

¡Saludos!

Hoy quiero hablarles de las columnas sparse algo que nos ayudara a trabajar con la información no estructurada que es hoy en día algo muy difícil de trabajar en el modelo relacional.

Las columnas sparse almacenan los valores NULL de manera muy eficiente para las tablas que contienen un alto porcentaje de valores NULL. Las columnas sparce se pueden acomodar mejorado drásticamente las velocidades de consulta cuando se utiliza junto con los índices filtrados. Cuando se utiliza con conjuntos de columnas, columnas sparce extender el límite de columnas para las tablas de conteo tradicional, proporcionando una solución mucho mejor para almacenar datos no estructurados que los antiguos e ineficientes métodos de EAV. Columna fija también representan escasos datos en un formato XML que se genera automáticamente permite la importación fácil de datos, las exportaciones y la manipulación.
Las columnas dispersas no son compatibles con las claves principales, compresión de datos, restricciones NOT NULL o valores por defecto. Las columnas que no son Sparse pueden ser alteradas para tener la propiedad Sparse, pero en su lugar se debe crear con ella. Las columnas dispersas implícitamente permiten valores NULL en la creación de tablas. Conjuntos de columnas no son compatibles con la replicación de datos, consultas distribuidas, o índices. Las columnas dispersas son compatibles con las restricciones CHECK y los índices no agrupados.

Con frecuencia las tablas incluyen columnas que admiten valores NULOS (NULL),  Aun cuando una columna admita valores nulos, dichos valores pueden consumir un espacio en disco significativo esto dependerá de la definición del tipo de datos.

SQL Server 2008 incorpora las Sparse columns, es una mejora que permite la optimización del almacenamiento “zerobyte” de valores NULOS (NULL).  Se permiten definir hasta 30,000 columnas dispersas (Sparse columns) en una tabla.

Para definir estas “Sparse column”, sólo tiene que añadir el atributo de almacenamiento “SPARSE” después de la columna de definición en un comando CREATE o ALTER TABLE,

Veamos el siguiente ejemplo:

query1

 

 

 

 

 

 

 

USE
[Test]
GO
CREATE
TABLEdbo.Paciente
(
PacienteID INT NOT NULL,
NombreCompleto VARCHAR(80) NOT NULL,
Direccion VARCHAR(50) NOT NULL,
Telefono VARCHAR(20) SPARSE NULL,
Celular VARCHAR(20)SPARSENULL,
Ciudad VARCHAR(50)NOTNULL,
Provincia VARCHAR(50)SPARSENULL,
CONSTRAINT pk_PacienteIDPRIMARYKEY (PacienteID))
GO
DROP
TABLEdbo.Paciente
GO
query2

En resumen las columnas sparse aplicaran el ZEROBYTE y ahorremos un poco más de espacio en nuestras bases de datos. Hemos visto un ejemplo detallados de cómo utilizarla esta propiedad. Soluciones con columnas sparse ofrecen muchas ventajas cuando se aplica correctamente, pero puede ser necesario si la relación de los valores NULL en valores no NULL no es lo suficientemente alta, o si la tabla no es lo suficientemente grande como para justificar el uso de un conjunto de columnas.

No olvides dejar tu comentario,

Gracias.

 
Deja un comentario

Publicado por en enero 15, 2013 en Uncategorized

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: