Al usar la compresión de nivel de fila o de página con SQL Server 2008 R2, SQL Server almacena los datos en su buffer cache en su forma comprimida o en su forma expandida.¿Cómo se almacenan los datos comprimidos en la memoria caché del búfer, comprimidos o sin comprimir?
Por ejemplo, digamos que tengo una tabla que está (a nivel de página) comprime hasta un 20% de su tamaño original:
Original size: 100 GB
Compressed size: 20 GB
Además, el (dedicado) de acogida que esta instancia particular de SQL El servidor se está ejecutando tiene 24 GB de memoria. Si una consulta realiza un escaneo de tabla, mirando todas las columnas (por ejemplo) y SQL Server guarda en caché los datos como comprimidos, teóricamente puede tener todos los datos en su memoria caché de memoria intermedia y está disponible para futuras consultas. Sin embargo, si los datos se almacenan en caché sin comprimir, es evidente que 100 GB de datos no caben en 24 GB de memoria del servidor.
Entonces, ¿cómo almacena SQL Server los datos comprimidos en su memoria caché del búfer?