Etiquetas

, , ,

Las estadísticas son uno de los factores más importantes de una base de datos, ya que contiene información acerca de cómo se distribuyen los datos en los objetos de base de datos (tablas, índices, etc.) El hecho de que las estadísticas no estén actualizadas es una de las razones por la que no se genere un plan de ejecución optimo y por lo tanto que nuestras consultas contra base de datos no tengan el mejor rendimiento.

Para saber cuándo fue la última vez que se actualizo alguna estadística se puede ejecutar la siguiente consulta :

SELECT name AS index_name ,

STATS_DATE ( OBJECT_ID , index_id ) AS StatsUpdated
FROM sys.indexes
WHERE OBJECT_ID = OBJECT_ID ( 'HumanResources.Department' )
Para actualizar las estadísticas sobre un objeto como por ejemplo una tabla ejecutaríamos lo siguiente:

UPDATE STATISTICS HumanResources.Department
WITH FULLSCAN
GO

Al colocar la opción FULLSCAN logramos que se recorra toda la tabla para la actualización de las estadísticas.

Es recomendable que la actualización de las estadísticas solo se realice cuando el servidor no está muy ocupado.

También podemos hacer que nuestro servidor cree y actualice las estadísticas de manera automática, esto lo podemos hacer en las propiedades de la base de datos como se muestra en la siguiente figura.