fillfactor y pad index ??

25/07/2006 - 22:15 por Cesar | Informe spam
Hola amigos, no me queda bien claro el tema de fillfactor y pad index,
algu8ien por favor podria darme un a explicacion.

Gracias

Cesar

Preguntas similare

Leer las respuestas

#1 Peter
25/07/2006 - 23:13 | Informe spam
Hola César,

Tanto FillFactor como PadIndex se aplican a las páginas de datos de los
índices de tu base de datos.

Las páginas son la unidad más pequeña de almacenamiento de datos en la que
se divide un archivo de datos (.mdf) en SQL Server. Una página de datos puede
almacenar uno o más registros de una tabla, sin embargo, un registro no puede
estar contenido en más de una tabla.

Cabría esperar que el comportamiento de SQL Server cada vez que se llena una
página de datos de un índice al insertar un registro sea el de crear una
nueva página y comenzar a llenarla con la siguiente inserción. Efectivamente,
SQL Server crea una nueva página, pero no deja esta página vacía a la espera
de una nueva inserción, sino que mueve la mitad de los registros de la página
original a la nueva, de tal manera que al final de la acción, obtenemos 2
páginas llenas al 50% cada una.

Con el FillFactor podemos modificar este comportamiento, de tal manera que
la acción de crear la nueva página y trasvasar la mitad de los registros
ocurra cuando queda, por ejemplo, un 20% de espacio libre en la página. El
rango de valores va del 0 al 50%.

El PadIndex es igual que el FillFactor. La diferencia es que el FillFactor
se aplica a las páginas de datos del índice, mientras que el PadIndex se
aplica a las páginas de los niveles intermedios del mismo.

Solo se puede establecer el valor de FillFactor al crear el índice, y el
PadIndex solo es aplicable si también hemos especificado un FillFactor.

Espero haberte sido de ayuda. Si necesitas información adicional sobre los
índices, escríbeme y te lo cuento en otro post.


Saludos,

Pedro López-Belmonte Eraso.
MCAD, MCT



"Cesar" wrote:

Hola amigos, no me queda bien claro el tema de fillfactor y pad index,
algu8ien por favor podria darme un a explicacion.

Gracias

Cesar



Respuesta Responder a este mensaje
#2 Cesar
26/07/2006 - 00:19 | Informe spam
Hola Peter, muchas gracias por tu respuesta que me a aclarado el panorama en
un 90%, pero tengo algunas dudillas

En este parrafo:
El PadIndex es igual que el FillFactor. La diferencia es que el FillFactor
se aplica a las páginas de datos del índice, mientras que el PadIndex se
aplica a las páginas de los niveles intermedios del mismo.


No me queda claro algo te refieres a las paginas del indice, que otras
paginas hay?, estas paginas del indice son del Clustered Index o
nonClustered Index?
Cual es la diferencia entre las páginas de datos del índice y las páginas
de los niveles intermedios del mismo?

gracias

Saludos

Cesar

"Peter" ha scritto nel messaggio
news:
Hola César,

Tanto FillFactor como PadIndex se aplican a las páginas de datos de los
índices de tu base de datos.

Las páginas son la unidad más pequeña de almacenamiento de datos en la que
se divide un archivo de datos (.mdf) en SQL Server. Una página de datos


puede
almacenar uno o más registros de una tabla, sin embargo, un registro no


puede
estar contenido en más de una tabla.

Cabría esperar que el comportamiento de SQL Server cada vez que se llena


una
página de datos de un índice al insertar un registro sea el de crear una
nueva página y comenzar a llenarla con la siguiente inserción.


Efectivamente,
SQL Server crea una nueva página, pero no deja esta página vacía a la


espera
de una nueva inserción, sino que mueve la mitad de los registros de la


página
original a la nueva, de tal manera que al final de la acción, obtenemos 2
páginas llenas al 50% cada una.

Con el FillFactor podemos modificar este comportamiento, de tal manera que
la acción de crear la nueva página y trasvasar la mitad de los registros
ocurra cuando queda, por ejemplo, un 20% de espacio libre en la página. El
rango de valores va del 0 al 50%.

El PadIndex es igual que el FillFactor. La diferencia es que el FillFactor
se aplica a las páginas de datos del índice, mientras que el PadIndex se
aplica a las páginas de los niveles intermedios del mismo.

Solo se puede establecer el valor de FillFactor al crear el índice, y el
PadIndex solo es aplicable si también hemos especificado un FillFactor.

Espero haberte sido de ayuda. Si necesitas información adicional sobre los
índices, escríbeme y te lo cuento en otro post.


Saludos,

Pedro López-Belmonte Eraso.
MCAD, MCT



"Cesar" wrote:

> Hola amigos, no me queda bien claro el tema de fillfactor y pad index,
> algu8ien por favor podria darme un a explicacion.
>
> Gracias
>
> Cesar
>
>
>
Respuesta Responder a este mensaje
#3 Miguel Egea
26/07/2006 - 09:15 | Informe spam
Hola Cesar, SQL organiza las páginas como árboles B, el nivel de hoja de un
índice clustered es la propia tabla, el nivel de hoja de un índice normal
son todos los datos del índice. En algunas ocasiones SQL recorre solamente
ese nivel de hoja (si tiene que hacer un full o un partial scan), No
obstante todo no está en 2 niveles solamente, sino que dependiendo del
número de registros y del tamaño de cada índice existirán más o menos
niveles en resumen,
fill factor es el factor de relleno de las páginas de nivel de hoja
padindex es lo mismo pero para las páginas de niveles intermedios

PadIndex es solo útil cuando se especifica fill factor, ya que el factor
libre será el que indique fillfactor y si con ese espacio libre no cabe un
registro SQL simplemente lo ignora, cabe destacar que esto es solo para el
momento de creación del índice y en su reconstrucción (rebulid) SQL no se
pierde tiempo en mantener ese factor

Cuando un nuevo registro llega a ún índice (ya sea clustered o no) hay que
colocarlo en su posición adecuada, en todos los niveles del árbol si una
página ya sea de hoja o de otro nivel está llena habrá que partirla (solo la
parte en ese caso, es decir tiene que ir en esa página por que el orden así
lo indica y no hay espacio para que quepa). Si esto es un problema se puede
monitorizar con un contador del monitor de rendimiento (page-split)

Saludos
Miguel Egea


"Cesar" wrote in message
news:eyY3$
Hola Peter, muchas gracias por tu respuesta que me a aclarado el panorama
en
un 90%, pero tengo algunas dudillas

En este parrafo:
El PadIndex es igual que el FillFactor. La diferencia es que el
FillFactor
se aplica a las páginas de datos del índice, mientras que el PadIndex se
aplica a las páginas de los niveles intermedios del mismo.


No me queda claro algo te refieres a las paginas del indice, que otras
paginas hay?, estas paginas del indice son del Clustered Index o
nonClustered Index?
Cual es la diferencia entre las páginas de datos del índice y las
páginas
de los niveles intermedios del mismo?

gracias

Saludos

Cesar

"Peter" ha scritto nel messaggio
news:
Hola César,

Tanto FillFactor como PadIndex se aplican a las páginas de datos de los
índices de tu base de datos.

Las páginas son la unidad más pequeña de almacenamiento de datos en la
que
se divide un archivo de datos (.mdf) en SQL Server. Una página de datos


puede
almacenar uno o más registros de una tabla, sin embargo, un registro no


puede
estar contenido en más de una tabla.

Cabría esperar que el comportamiento de SQL Server cada vez que se llena


una
página de datos de un índice al insertar un registro sea el de crear una
nueva página y comenzar a llenarla con la siguiente inserción.


Efectivamente,
SQL Server crea una nueva página, pero no deja esta página vacía a la


espera
de una nueva inserción, sino que mueve la mitad de los registros de la


página
original a la nueva, de tal manera que al final de la acción, obtenemos 2
páginas llenas al 50% cada una.

Con el FillFactor podemos modificar este comportamiento, de tal manera
que
la acción de crear la nueva página y trasvasar la mitad de los registros
ocurra cuando queda, por ejemplo, un 20% de espacio libre en la página.
El
rango de valores va del 0 al 50%.

El PadIndex es igual que el FillFactor. La diferencia es que el
FillFactor
se aplica a las páginas de datos del índice, mientras que el PadIndex se
aplica a las páginas de los niveles intermedios del mismo.

Solo se puede establecer el valor de FillFactor al crear el índice, y el
PadIndex solo es aplicable si también hemos especificado un FillFactor.

Espero haberte sido de ayuda. Si necesitas información adicional sobre
los
índices, escríbeme y te lo cuento en otro post.


Saludos,

Pedro López-Belmonte Eraso.
MCAD, MCT



"Cesar" wrote:

> Hola amigos, no me queda bien claro el tema de fillfactor y pad index,
> algu8ien por favor podria darme un a explicacion.
>
> Gracias
>
> Cesar
>
>
>




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida