Actualizar estadísticas

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Puede actualizar las estadísticas de optimización de consultas en una tabla o en una vista indexada de SQL Server mediante SQL Server Management Studio o TransactSQL. De forma predeterminada, el optimizador de consultas ya actualiza las estadísticas como requisito para mejorar el plan de consulta; en algunos casos puede mejorar el rendimiento de las consultas utilizando UPDATE STATISTICS o el procedimiento almacenado sp_updatestats para actualizar las estadísticas con más frecuencia que la de las actualizaciones predeterminadas.

La actualización de las estadísticas asegura que las consultas se compilan con estadísticas actualizadas. Sin embargo, la actualización de las estadísticas hace que las consultas se vuelvan a compilar. Recomendamos no actualizar las estadísticas con demasiada frecuencia, porque hay que elegir el punto válido entre la mejora de los planes de consulta y el tiempo empleado en volver a compilar las consultas. Las compensaciones específicas dependen de su aplicación. UPDATE STATISTICS puede usar tempdb para ordenar la muestra de filas con fines de creación de estadísticas.

En este tema

Antes de empezar

Seguridad

Permisos

Si usa UPDATE STATISTICS o realiza cambios con SQL Server Management Studio, es necesario el permiso ALTER en la tabla o vista. Si usa sp_updatestats, necesita pertenecer al rol fijo de servidor sysadmin o ser propietario de la base de datos (dbo).

Uso de SQL Server Management Studio

Para actualizar un objeto de estadísticas

  1. En el Explorador de objetos, haga clic en el signo más para expandir la base de datos en la que desea actualizar la estadística.

  2. Haga clic en el signo más para expandir la carpeta Tablas .

  3. Haga clic en el signo más para expandir la tabla en la que desea actualizar la estadística.

  4. Haga clic en el signo más para expandir la carpeta Estadísticas .

  5. Haga clic con el botón derecho en el objeto de estadísticas que quiere actualizar y seleccione Propiedades.

  6. En el cuadro de diálogo Propiedades de estadísticas -nombre_estadísticas, active la casilla Actualizar estadísticas de estas columnas y haga clic en Aceptar.

Usar Transact-SQL

Para actualizar un objeto concreto de estadísticas

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

    USE AdventureWorks2022;  
    GO  
    -- The following example updates the statistics for the AK_SalesOrderDetail_rowguid index of the SalesOrderDetail table.  
    UPDATE STATISTICS Sales.SalesOrderDetail AK_SalesOrderDetail_rowguid;   
    GO  
    

Para actualizar todas las estadísticas en una tabla

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

    USE AdventureWorks2022;   
    GO  
    -- The following example updates the statistics for all indexes on the SalesOrderDetail table.
    UPDATE STATISTICS Sales.SalesOrderDetail;   
    GO  
    

Para obtener más información, vea UPDATE STATISTICS (Transact-SQL).

Para actualizar todas las estadísticas de una base de datos

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

    USE AdventureWorks2022;   
    GO  
    -- The following example updates the statistics for all tables in the database.  
    EXEC sp_updatestats;  
    

Administración automática de índice y estadísticas

Aproveche soluciones como la desfragmentación de índice adaptable para administrar automáticamente las actualizaciones de estadísticas y la desfragmentación de índices para una o varias bases de datos. Este procedimiento elige automáticamente si se debe volver a generar o reorganizar un índice según su nivel de fragmentación, entre otros parámetros y actualiza las estadísticas con un umbral lineal.

Pasos siguientes

Para obtener más información, vea UPDATE STATISTICS (Transact-SQL).