Hola a todos de nuevo! Hoy vamos a ver una característica de SQL Server 2019 referente a los índices. Veremos cómo utilizarla y como nos puede servir de utilidad.
Partimos de un escenario de creación de índices ya sea por optimización o por mantenimiento del entorno. El índice a crear presenta un tamaño relevante y, al tener problemas de rendimiento derivados, decidimos crearlo de inmediato.
Trabajando con Índices
El índice empieza a generar problemas de bloqueos al llevar 1 hora de creación, por lo que, sin saber cuanto queda para que termine, tenemos que tomar la decisión de pararlo y volver a empezar en otro horario o….. utilizar la nueva cláusula “RESUMABLE”.
CREATE INDEX test_idx1 ON test_table (col1) WITH (ONLINE = ON, RESUMABLE = ON);
Esta claúsula nos permite parar la creación y retormarla cuando el entorno sea favorable.
Para pararlo ejecutaremos el comando
ALTER INDEX test_idx1 ON test_table PAUSE;

Además, ejecutando:
SELECT name, percent_complete FROM sys.index_resumable_operations;
Podremos ver el % que lleva de creación.

Podemos ver que el índice está pausado.
********* DBA TIP ********
Las nuevas filas que se vayan insertando en la tabla desde que paramos la creación no se reflejaran en dicho %. Veamoslo.
Insertamos el doble del volumen de datos que ya posee la tabla.
INSERT INTO dbo.t1 (a)
SELECT a from t1
GO
La creación del índice sobre la tabla original (10000000 filas) llevaba un progreso de 9,999%, al añadir otros 10000000 de filas, vemos que el % no se divide a la mitad sino que sube un 20%

Más información sobre índices en https://docs.microsoft.com/es-es/sql/t-sql/statements/create-index-transact-sql?view=sql-server-ver15
Hasta aquí la entrega de hoy amigos! Si tenéis alguna duda sobre como gestionar vuestros índices o sobre otra cuestión de SQL Server, más funcionalidades de SQL Server 2019 en https://www.gpsos.es/2020/06/nuevas-funcionalidades-sql-server-2019/, no lo dudéis y contactar con nosotros! Hasta la próxima!
¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.
Sígue a GPS en LinkedIn