Reemplazar un mes entero por metadata

Cómo cargo o purgo millones de filas sin bloquear el reporting?

Cuaderno N°11 · Serie «Trucos de T-SQL para tu DW»

Por Javier Loria · Lectura ~13 min · SQL Server · Particionamiento · Data Warehouse

En un data warehouse grande, dos operaciones rutinarias se vuelven un dolor cuando la tabla pesa cientos de millones de filas: cargar el lote nuevo —el mes que cierra, el día que entra— y borrar o archivar el histórico viejo que ya nadie consulta. A fuerza bruta —un INSERT masivo contra la fact viva, un DELETE de millones de filas— las dos bloquean la tabla, inflan el log y dejan la ventana de carga sin cerrar a tiempo.

La respuesta de nivel industrial es partition switching, que mete o saca un bloque entero de datos cambiando metadata, en milisegundos, sin mover una sola fila física. Este cuaderno muestra los dos usos que más valen en producción: ingestar con una ventana deslizante y reemplazar o deprecar un bloque completo. Más los requisitos que el switch exige y la trampa de mover fronteras.

Qué vas a encontrar:

  • El problema: el DELETE masivo que cierra la bodega (bloqueos, log inflado).
  • El truco: el switch de dos pasos, en milisegundos por metadata.
  • Por qué el switch es exigente, y cómo avisa fuerte cuando no se cumplen sus requisitos.
  • La ventana deslizante: cada período nuevo entra, el más viejo sale.
  • La trampa de mover fronteras (SPLIT/MERGE RANGE) que puede revivir el costo que querías evitar.
  • Qué cambia si estás en Microsoft Fabric.