Actualización de estadísticas
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 puedes mejorar el rendimiento de las consultas si usas 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 una compensación de rendimiento 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.
Permisos
Si usas UPDATE STATISTICS
o realizas 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
Actualizar un objeto de estadísticas
En el Explorador de objetos, haz clic en el signo más para expandir la base de datos en la que deseas actualizar la estadística.
Selecciona el signo más para expandir la carpeta Tablas.
Selecciona el signo más para expandir la tabla en la que deseas actualizar la estadística.
Haz clic en el signo más para expandir la carpeta Estadísticas.
Haga clic con el botón derecho en el objeto de estadísticas que quiere actualizar y seleccione Propiedades.
En el cuadro de diálogo Propiedades de estadísticas -nombre_estadísticas, activa la casilla Actualizar estadísticas de estas columnas y haz clic en Aceptar.
Uso de Transact-SQL
Actualizar un objeto concreto de estadísticas
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione 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
Actualizar todas las estadísticas en una tabla
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.
USE AdventureWorks2022; GO -- The following example updates the statistics for all indexes on the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail; GO
Para más información, consulta ACTUALIZAR ESTADÍSTICAS.
Actualizar todas las estadísticas de una base de datos
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione 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
Usa 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.