Desarrollo > Utilidades > Comprobaciones > Estadísticas base de datos > Estadísticas SQL Server 

Esta función permite visualizar las estadísticas generadas en la base de datos cuando la base de datos utilizada es SQL Server™.

También permite actualizar las estadísticas.

Aviso importante

Atención, este tipo de funciónfacilita, mediante una interfaz de usuario homogénea con el sistema, el lanzamiento de procedimientos de explotación devueltos a un administrador de bases de datos. Está concebida para ser lanzada por un administrador concreto (denominado normalmente DBA).

Para que su uso resulte de provecho, hay que tener un conocimiento previo del funcionamiento de las bases de datos y su optimización.

Un uso inapropiado puede suponer serios problemas de rendimiento y poner en peligro la seguridad de la explotación del sistema.

Gestión de pantalla

Esta función permite visualizar y generar las estadísticas en la base de datos.
Estos elementos se presentan en dos pestañas: la primera pestaña ofrece la lista de índices y el informe de estadísticas para cada uno de ellos, mientras que la segunda ofrece la lista de los parámetros de la base de datos vinculados a la generación de las estadísticas.

Cabecera

Campos

Los campos siguientes están presentes en esta pestaña :

  • Base de datos (campo BDDNAM)

Nombre de la base de datos.

  • Versión (campo VER)

Número de versión de la base de datos.

  • campo VERDES

Descripción de la versión de la base de datos.

Cerrar

 

Pestaña Índice

Presentación

Esta pestaña presenta la lista de índices y el estado de las estadísticas para cada uno de ellos.

Cerrar

 

Campos

Los campos siguientes están presentes en esta pestaña :

Tabla

  • Por procesar (campo PROFLG)

Permite definir si la línea debe tratarse en el momento de la generación de estadísticas, mediante el botón de la parte inferior de la pantalla.

  • Tabla (campo TAB)

Nombre de la tabla de la base de datos

  • Índice (campo INDEX)

Nombre del índice de la base de datos

  • N.º líneas (campo NBRLIN)

Número de líneas de la tabla correspondiente al índice (count)

  • Estadísticas automáticas (campo STTAUT)

Indica si las estadísticas se generan de forma automática por el índice.

Corresponde al parámetro de base de datos UPDATE STATISTICS automático para el índice.

  • Estadísticas generadas (campo STTFLG)

Indica si se han generado estadísticas validas en base de datos

  • Fecha último análisis (campo STTDAT)

Fecha del último análisis de las estadísticas

  • campo STTHOU

Hora del último análisis de las estadísticas

Cerrar

 

Es posible generar estadísticas:

    • para un índice haciendo clic con el botón derecho,
    • para todos los índices o una parte de los índices seleccionando las líneas deseadas antes de desencadenar la acción mediante el botón de la parte inferior de la pantalla.

Icono Acciones

Sí a todo lo demás

Cuando hay una tabla de introducción de múltiples opciones con una opción de respuesta Sí / Noen cada línea, esta función permite responder para todas las líneas a partir de la línea actual.

No a todo lo demás

Cuando hay una tabla de introducción de múltiples opciones con una opción de respuesta Sí / Noen cada línea, esta función permite responder No para todas las líneas a partir de la línea actual.

Actualizar la línea

Permite refrescar la visualización de la línea actual del cuadro

Generar para la línea

Permite generar estadísticas para la línea actual del cuadro

 

Cerrar

 

Pestaña Base

Presentación

Esta pestaña presenta la lista de los parámetros de la base de datos vinculados a la generación automática de estadísticas.

Cerrar

 

Campos

Los campos siguientes están presentes en esta pestaña :

Tabla Parámetros de las estadísticas

  • Parámetro (campo PAR)

Muestra las opciones posicionadas en la base de datos para la generación automática de las estadísticas.

Las opciones son las siguientes

Opción

Descripción

auto create statistics

Si es verdadero, las estadísticas que faltan, necesarias para la optimización, se crean automáticamente durante la optimización.

auto update statistics

Si es verdadero, las estadísticas no actualizadas, necesarias por petición para la optimización, se crean automáticamente durante la optimización.

  • Valor (campo PARVAL)

 

Cerrar

 

No es posible modificar estos valores.

Botones específicos

Permite generar las estadísticas para todas las líneas seleccionadas en la tabla de la pestaña "Índice".

Explicaciones sobre las estadísticas Sql Server

¿Cuándo deben actualizarse las estadísticas?

SQL Server conserva las estadísticas de distribución de los valores de clave en cada índice y utiliza estas estadísticas para determinar los índices a utilizar en el proceso de consultas.

Así pues, puede ser útil actualizar las estadísticas:

    • si se aportan importantes modificaciones a los valores de clave del índice,
    • si se ha añadido, modificado o suprimido una gran parte de los datos de una columna indexada (en otras palabras, si se cree que la distribución de los valores de clave ha cambiado)

¿Por qué?

Microsoft® SQL Server™ permite crear informaciones estadísticas sobre la distribución de valores en una columna que debe ser creada. Estas estadísticas pueden ser explotadas por el procesador de consultas para determinar la estrategia óptima de evaluación de una consulta. Cuando se crea un índice, SQL Server almacena automáticamente las informaciones estadísticas relativas a la distribución de valores en la columna o columnas indexadas. El optimizador de consultas de SQL Server utiliza estas estadísticas para calcular el coste de la utilización del índice para una consulta. Por otra parte, si la opción de la base de datos AUTO_CREATE_STATISTICS está activada (ON), lo que ocurre por defecto, SQL Server crea automáticamente estadísticas para los columnas sin índice utilizadas en un predicado.

Si los datos de una columna cambian, las estadísticas de índice y de columna corren el riesgo de quedarse obsoletas y de llevar al optimizador de consultas a tomar decisiones poco juiciosas sobre la manera de procesar una consulta. Por ejemplo, si se crea una tabla con una columna indexada y 1.000 líneas de datos, todas ellas con valores únicos en la columna indexada, el optimizador de consultas considera que la columna indexada constituye una "buena" solución para recoger los datos para una consulta. Si se actualizan los datos de una columna creando numerosos valores duplicados, la columna deja de ser un candidato ideal para ser utilizado en una consulta. Sin embargo, el optimizador de consultas la considera siempre un candidato apropiado conforme a las estadísticas de distribución obsoletas del índice, que estaban basadas en los datos anteriores a la actualización.

Por consiguiente, SQL Server actualiza automáticamente las informaciones estadísticas de manera regular, a medida que se modifican los datos de las tablas. El muestreo se realiza de forma aleatoria entre las páginas de datos y procede de la tabla o del índice más pequeño no ordenado en clústeres en las columnas necesarias para las estadísticas. Tras la lectura de una página de datos a partir del disco, todas las líneas de la página se utilizan para actualizar las informaciones estadísticas. La frecuencia de actualización de estas últimas depende del volumen de datos presentes en la columna o el índice y de la cantidad de datos variables.

SQL Server garantiza siempre el muestreo de un número mínimo de líneas. Las tablas de tamaño inferior a 8 Mb siempre son objeto de un análisis completo con el objetivo de elaborar estadísticas.

El coste de esta actualización automática de las estadísticas se minimiza a causa del muestreo de datos, ya que no se analizan todos los datos.

Informaciones técnicas

Todas las informaciones de las tablas, índices y estadísticas se leen directamente en la base de datos a partir de las tablas y vistas Sql Server:

    • sysusers
    • sysobjects
    • sysindexes

Las fechas de las estadísticas se obtienen con la ayuda de la función STATS_DATE.

Las informaciones sobre la generación automática de estadísticas en los índices se obtienen mediante el procedimiento sp_autostats.

Las informaciones sobre la gestión automática de estadísticas en la base de datos se obtienen mediante el procedimiento sp_dboption.

Las estadísticas se actualizan con la instrucción UPDATE STATISTICS.

Mensajes de error

No hay ningún mensaje de error aparte de los mensajes de error genéricos.

Tablas utilizadas

SEEREFERTTO Consulta la documentación de Puesta en marcha