2008-08-14 11 views
8

Normalmente, cuando estoy creando índices en tablas, generalmente adivino cuál debería ser el Fill Factor basado en una conjetura sobre cómo se usará la tabla (muchas lecturas o muchas escrituras).Cómo se mide el valor del Factor de relleno SQL

¿Existe alguna forma más científica de determinar un valor de Fill Factor más preciso?

Respuesta

12

Puede intentar ejecutar una gran lista de operaciones realistas y buscar colas de IO para las diferentes acciones.

Hay muchas variables que lo gobiernan, como el tamaño de cada fila y el número de escrituras frente a lecturas.

Básicamente: factor de relleno alto = lectura más rápida, escritura baja = más rápida.

Sin embargo, no es tan simple, ya que casi todas las escrituras serán para un subconjunto de filas que primero se deben buscar.

Por ejemplo: establezca un factor de relleno al 10% y cada actualización de una sola fila tardará 10 veces más en encontrar la fila que está cambiando, aunque una división de página sería muy poco probable.

En general, ve los factores de relleno del 70% (escritura muy alta) al 95% (lectura muy alta).

Es un poco artístico.

Me parece que una buena forma de pensar en los factores de relleno es que las páginas de una libreta de direcciones: cuanto más ajustadas las direcciones, más difícil es cambiarlas, pero cuanto más delgado sea el libro. Creo que lo expliqué mejor en my blog.

2

Tiendo a pensar que si buscas mejoras en el rendimiento, es mucho mejor que pases tu tiempo en otro lugar, modificando tu esquema, optimizando tus consultas y garantizando una buena cobertura del índice. El factor de relleno es una de esas cosas de las que solo debe preocuparse cuando sabe que todo lo demás en su sistema es óptimo. No conozco a nadie que pueda decir eso.

Cuestiones relacionadas