El commit que no espera al disco

¿Por qué mi carga tarda horas si la CPU está ociosa y el disco no se satura?

Por Javier Loria · Lectura ~12 min · SQL Server · Rendimiento · ETL

El proceso se arrastra toda la noche, y el culpable no es el cómputo sino una espera invisible: cada COMMIT se queda parado esperando a que el log de transacciones se grabe en disco, y con miles de transacciones chicas esa espera (WRITELOG) se vuelve el techo. La palanca poco conocida es Delayed Durability: el commit que confirma sin esperar al disco.

Este cuaderno muestra cuándo esa palanca ayuda de verdad, cuánto cambia (con benchmark, no con promesas) y el precio que cobra: una ventana de posible pérdida de datos.

Qué vas a encontrar:

  • El problema: el COMMIT que espera al disco una y otra vez (WRITELOG).
  • El truco: confirma ya, vacía el log después.
  • Por qué no es «asíncrono gratis»: el precio que cobra.
  • Por qué no acelera un commit único, y por qué agrupar suele ser el arreglo real.
  • Dónde NO usarlo (los casos en que es una mala idea).