title | description | author | ms.author | ms.reviewer | ms.date | ms.service | ms.subservice | ms.topic | ms.custom | helpviewer_keywords | monikerRange | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Update statistics |
Learn how to update query optimization statistics on a table or indexed view in SQL Server by using SQL Server Management Studio or Transact-SQL. |
WilliamDAssafMSFT |
wiassaf |
derekw, randolphwest |
04/01/2024 |
sql |
performance |
how-to |
|
|
>=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric |
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics PDW FabricSQLDB]
You can update query optimization statistics on a table or indexed view in [!INCLUDE ssnoversion] by using [!INCLUDE ssManStudioFull] or [!INCLUDE tsql]. By default, the query optimizer already updates statistics as necessary to improve the query plan; in some cases you can improve query performance by using UPDATE STATISTICS
or the stored procedure sp_updatestats
to update statistics more frequently than the default updates.
Updating statistics ensures that queries compile with up-to-date statistics. However, updating statistics causes queries to recompile. We recommend not updating statistics too frequently, because there's a performance tradeoff between improving query plans and the time it takes to recompile queries. The specific tradeoffs depend on your application. UPDATE STATISTICS
can use tempdb
to sort the sample of rows for building statistics.
If using UPDATE STATISTICS
or making changes through [!INCLUDE ssManStudioFull], requires ALTER permission on the table or view. If using sp_updatestats
, requires membership in the sysadmin fixed server role, or ownership of the database (dbo).
-
In Object Explorer, select the plus sign to expand the database in which you want to update the statistic.
-
Select the plus sign to expand the Tables folder.
-
Select the plus sign to expand the table in which you want to update the statistic.
-
Select the plus sign to expand the Statistics folder.
-
Right-click the statistics object you wish to update and select Properties.
-
In the Statistics Properties -statistics_name dialog box, select the Update statistics for these columns check box and then select OK.
-
In Object Explorer, connect to an instance of [!INCLUDE ssDE].
-
On the Standard bar, select New Query.
-
Copy and paste the following example into the query window and select Execute.
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
-
In Object Explorer, connect to an instance of [!INCLUDE ssDE].
-
On the Standard bar, select New Query.
-
Copy and paste the following example into the query window and select Execute.
USE AdventureWorks2022; GO -- The following example updates the statistics for all indexes on the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail; GO
For more information, see UPDATE STATISTICS.
-
In Object Explorer, connect to an instance of [!INCLUDE ssDE].
-
On the Standard bar, select New Query.
-
Copy and paste the following example into the query window and select Execute.
USE AdventureWorks2022; GO -- The following example updates the statistics for all tables in the database. EXEC sp_updatestats;
Use solutions such as Adaptive Index Defrag to automatically manage index defragmentation and statistics updates for one or more databases. This procedure automatically chooses whether to rebuild or reorganize an index according to its fragmentation level, among other parameters, and update statistics with a linear threshold.