¿Por qué el factor de relleno en SQL Server predeterminado es 0 (100%)?

9

Entiendo el factor de relleno, las páginas y la estructura del índice y, por lo tanto, entiendo por qué un factor de relleno del 100% es una práctica recomendada poco común. Entonces, ¿por qué el valor predeterminado es 0 (o 100%) de forma predeterminada? ¿Por qué no 90 o 95?

¿Se me escapa algo?

NTDLS
fuente

Respuestas:

8

Simplemente lanzando algunas sugerencias aquí de por qué Microsoft haría esto:

  1. Han orientado su valor predeterminado para que sea el mejor rendimiento OLAP posible (menos lecturas de página con un factor de relleno de 0/100)
  2. Están asumiendo que los INSERTdatos ed probablemente estarán al final de la tabla, haciendo que el espacio extra por página sea inútil.
  3. Suponen que, por lo general, los UPDATEdatos d no alargarán los datos de las filas con mucha frecuencia, lo que provocará una división de página

Esto es solo adivinar aquí. Las únicas personas que realmente pueden responder esa pregunta con precisión es el equipo de SQL Server.

Thomas Stringer
fuente
55
Correcto, estas parecen teorías sensatas, y es mucho más probable que sean apropiadas para el cliente típico que elegir un factor de relleno arbitrario en el que, en muchos casos, se garantiza que desperdicie espacio permanentemente en una página.
Aaron Bertrand
No puedo creer que haya recibido una respuesta con la que estoy de acuerdo. No esperaba que hubiera una respuesta razonable, pero sus puntos # 2 y # 3 son muy razonables. ¡Gracias!
NTDLS
@NTDLS no hay problema, encantado de ayudar.
Thomas Stringer