Comprensión de las páginas IAM: intervalos de extensión

9

Estoy leyendo el libro de Itzik "Consultando Microsoft SQL Server 2012", así como leyendo / viendo diferentes materiales educativos en Internet. Mi intención es tener una comprensión útil de cómo funcionan los componentes internos de la base de datos.

Tengo una pequeña duda de que no pude resolver las páginas de IAM. Como estoy en una etapa muy temprana de mi comprensión, tal vez necesito ayuda adicional de aquellos que tienen una mejor idea de ello, así que discúlpeme si mis dudas parecen ridículas.

En el capítulo 15 "Implementación de índices y estadísticas" aparece una imagen, que se muestra a continuación, como ejemplo de una página IAM:

Ejemplo de página IAM

Puede ver con la flecha roja lo que parecen ser 16 páginas relacionadas con la misma extensión. ¿Cómo es eso posible? ¿Es un error del autor / editor? O lo que es más probable: ¿hay algo que no entiendo correctamente?

La otra pregunta que tengo está relacionada con los intervalos de páginas. ¿Por qué no son contiguas? Tomemos, por ejemplo, la última extensión, cubrirá páginas con id 336 a 22642, o la anterior, 296 a 328.

Aleix
fuente

Respuestas:

9

Puede ver con la flecha roja lo que parecen ser 16 páginas relacionadas con la misma extensión. ¿Cómo es eso posible?

La flecha roja apunta a una entrada que muestra que las extensiones que comienzan en 1:176 y 1:184se asignan a la entidad actual (ambas extensiones uniformes de 8 páginas están en uso) dentro del intervalo GAM.

La otra pregunta que tengo está relacionada con los intervalos de páginas. ¿Por qué no son contiguas? Tomemos, por ejemplo, la última extensión, cubrirá páginas con id 336 a 22642, o la anterior, 296 a 328.

No son extensiones, son rangos de extensión asignados a la entidad actual (por ejemplo, tabla, índice) dentro del intervalo GAM de 4GB que cubre la página IAM actual.

Los rangos de extensión mostrados como NOT ALLOCATEDpueden estar en uso por otras entidades.

Para obtener más información, consulte Inside the Storage Engine: páginas de IAM, cadenas de IAM y unidades de asignación de Paul Randal.

Paul White 9
fuente