SQL Server - Desfragmentar indices

 
Vista:

Desfragmentar indices

Publicado por Martin (3 intervenciones) el 08/02/2014 21:31:11
Hola, estoy mirando el porcentaje de fragmentacion de esta manera

SELECT OBJECT_NAME(dt.object_id),si.name, dt.avg_fragmentation_in_percent, dt.avg_page_space_used_in_percent
FROM
(SELECT object_id, index_id, avg_fragmentation_in_percent, avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats (DB_ID('base'), NULL, NULL, NULL, 'DETAILED')
WHERE index_id = 0) as dt --Con index_id 0 evitamos traer información de tablas que no tienen índices (Heaps)
INNER JOIN sys.indexes si
ON si.object_id = dt.object_id
AND si.index_id = dt.index_id

luego, como la fragmentacion externa es mayor al 10% aplico lo siguiente:

ALTER INDEX nombreindice on tabla1
REORGANIZE;

el problema es que cuando vuelvo a ejecutar el primer comando vuelvo a ver el mismo porcentaje de fragmentacion. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Desfragmentar indices

Publicado por Isaias (4558 intervenciones) el 10/02/2014 19:58:25
En otro foro te comente que el 10% de fragmentación no es significativo, deberías tomar en cuenta solo aquellos que estén por => 50%
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Desfragmentar indices

Publicado por Martin (3 intervenciones) el 15/02/2014 17:17:24
El indice tiene PercentFragment=66.66666%
de cualquier manera, aplique lo que aplique el porcentaje no varia.
aplcando:
ALTER INDEX all on tabla1
REORGANIZE;

o aplicando:

ALTER INDEX all on tabla1
REBUILD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Desfragmentar indices

Publicado por Martin (3 intervenciones) el 17/02/2014 02:48:08
La unica forma de reducir la fragmentacion fue estableciendo un fillfactor menor a 10. Pero no se si esta bien lo que hice, porque ademas en ningun lado y en ninguna documentacion de Microsoft dice que hay que hacer esto para reducirla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar