SQL 2017 Column Store Index en campos BLOB

SQL Server ya viene implementando distintas funcionalidades in-memory desde versiones anteriores. Una de ellas es la posibilidad de crear índices clustered en memoria , a estos se los llama Column Store Index.

La novedad de SQL Server 2017 es que ahora estos índices soportan tipos de datos BLOB (binarios o textos) donde por ejemplo podremos obtener grandes ventajas en tablas que tienen por ejemplo un XML, TXT o JSON.

Vamos a hacer un ejemplo de esta nueva funcionalidad de SQL Server 2017

Creación de dos tablas

Vamos a crear dos tablas (una que tiene Clustered Column Store index y la otra no)

 

Insertamos registros de prueba

Lo que haremos ahora es insertar unos 500K registros JSON para poblar cada una de nuestras tablas

 

Espacio consumido

Con el siguiente código vamos a observar el espacio consumido en disco por cada una de estas tablas

 

Planes de ejecución

Observaremos para una consulta los distintos planes de ejecución

 

Conclusiones:

Los índices Column Store al trabajar in-memory han logrado una alta compresión de los datos BLOB de la tabla donde además se observa una mejora considerable en los costos de los planes de ejecución


Leave a Reply