Aggiorna statisticheUpdate Statistics

È possibile aggiornare le statistiche di ottimizzazione delle query per una tabella o una vista indicizzata in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.You can update query optimization statistics on a table or indexed view in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Per impostazione predefinita, tramite Query Optimizer vengono già aggiornate le statistiche nel modo necessario per migliorare il piano di query. In alcuni casi, è possibile migliorare le prestazioni di esecuzione delle query utilizzando UPDATE STATISTICS o la stored procedure sp_updatestats per aggiornare le statistiche con una maggiore frequenza rispetto agli aggiornamenti predefiniti.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.

Sebbene consenta di garantire che le query vengano compilate con statistiche aggiornate,Updating statistics ensures that queries compile with up-to-date statistics. l'aggiornamento delle statistiche causa la ricompilazione delle query.However, updating statistics causes queries to recompile. Si consiglia di non aggiornare le statistiche troppo frequentemente perché è necessario mantenere un equilibrio a livello di prestazioni tra la necessità di migliorare i piani di query e il tempo necessario per la ricompilazione delle query.We recommend not updating statistics too frequently because there is a performance tradeoff between improving query plans and the time it takes to recompile queries. Tale equilibrio dipende dall'applicazione in uso.The specific tradeoffs depend on your application. Per le operazioni UPDATE STATISTICS è possibile usare tempdb per ordinare l'esempio di righe per la compilazione di statistiche.UPDATE STATISTICS can use tempdb to sort the sample of rows for building statistics.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Sicurezza Security

Autorizzazioni Permissions

Se si utilizza UPDATE STATISTICS o si apportano modifiche tramite SQL Server Management StudioSQL Server Management Studio, è necessaria l'autorizzazione ALTER per la tabella o la vista.If using UPDATE STATISTICS or making changes through SQL Server Management StudioSQL Server Management Studio, requires ALTER permission on the table or view. Se si usa sp_updatestats, è necessario essere un membro del ruolo predefinito del server sysadmin o il proprietario del database (dbo).If using sp_updatestats, requires membership in the sysadmin fixed server role, or ownership of the database (dbo).

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per aggiornare un oggetto statisticheTo update a statistics object

  1. In Esplora oggettifare clic sul segno più per espandere il database in cui si desidera aggiornare la statistica.In Object Explorer, click the plus sign to expand the database in which you want to update the statistic.

  2. Fare clic sul segno più per espandere la cartella Tabelle .Click the plus sign to expand the Tables folder.

  3. Fare clic sul segno più per espandere la tabella in cui si desidera aggiornare la statistica.Click the plus sign to expand the table in which you want to update the statistic.

  4. Fare clic sul segno più per espandere la cartella Statistiche .Click the plus sign to expand the Statistics folder.

  5. Fare clic con il pulsante destro del mouse sull'oggetto che si vuole aggiornare e scegliere Proprietà.Right-click the statistics object you wish to update and select Properties.

  6. Nella finestra di dialogo Proprietà statistiche -nome_statistiche selezionare la casella di controllo Aggiorna statistiche per le colonne selezionate e quindi fare clic su OK.In the Statistics Properties –statistics_name dialog box, select the Update statistics for these columns check box and then click OK.

Utilizzo di Transact-SQL Using Transact-SQL

Per aggiornare un oggetto statistiche specificoTo update a specific statistics object

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;  
    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  
    

Per aggiornare tutte le statistiche in una tabellaTo update all statistics in a table

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

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

    Per altre informazioni, vedere UPDATE STATISTICS (Transact-SQL).For more information, see UPDATE STATISTICS (Transact-SQL).

Per aggiornare tutte le statistiche in un databaseTo update all statistics in a database

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

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

    Per altre informazioni, vedere sp_updatestats (Transact-SQL).For more information, see sp_updatestats (Transact-SQL).