Sdílet prostřednictvím


Aktualizace statistik

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Statistiky optimalizace dotazů v tabulce nebo indexované zobrazení v SQL Serveru můžete aktualizovat pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Optimalizátor dotazů už ve výchozím nastavení aktualizuje statistiky podle potřeby, aby zlepšil plán dotazu; v některých případech můžete zlepšit výkon dotazů pomocí UPDATE STATISTICS nebo uložené procedury sp_updatestats k aktualizaci statistik častěji než výchozí aktualizace.

Aktualizace statistik zajišťuje, že se dotazy kompilují pomocí statistik up-to-date. Aktualizace statistik však způsobí, že se dotazy znovu zkompilují. Nedoporučujeme aktualizovat statistiky příliš často, protože mezi vylepšováním plánů dotazů a časem potřebným k rekompilování dotazů existuje kompromis mezi výkonem. Konkrétní kompromisy závisí na vaší aplikaci. UPDATE STATISTICS můžete použít tempdb k seřazení vzorku řádků pro vytváření statistik.

Dovolení

Pokud používáte UPDATE STATISTICS nebo provádíte změny prostřednictvím aplikace SQL Server Management Studio, vyžaduje oprávnění ALTER k tabulce nebo zobrazení. Pokud používáte sp_updatestats, vyžaduje členství v správce systému pevné role serveru nebo vlastnictví databáze (dbo).

Použití aplikace SQL Server Management Studio

Aktualizace objektu statistiky

  1. V Průzkumník objektůvyberte znaménko plus a rozbalte databázi, ve které chcete aktualizovat statistiku.

  2. Výběrem znaménka plus rozbalte složku Tabulky.

  3. Výběrem znaménka plus rozbalte tabulku, ve které chcete statistiku aktualizovat.

  4. Výběrem znaménka plus rozbalte složku Statistika.

  5. Klikněte pravým tlačítkem myši na objekt statistiky, který chcete aktualizovat, a vyberte Vlastnosti.

  6. V dialogovém okně Vlastnosti statistiky –statistics_name zaškrtněte políčko Aktualizovat statistiky pro tyto sloupce a pak vyberte OK.

Použití Transact-SQL

Aktualizace konkrétního objektu statistiky

  1. V Průzkumníku objektůse připojte k instanci databázového serveru.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.

    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
    

Aktualizace všech statistik v tabulce

  1. V Průzkumník objektůse připojte k instanci databázového serveru.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.

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

Další informace naleznete v tématu UPDATE STATISTICS.

Aktualizace všech statistik v databázi

  1. V Průzkumníku objektůse připojte k instanci databáze.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.

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

Automatická správa indexů a statistik

Pomocí řešení, jako je Adaptivní index Defrag, můžete automaticky spravovat defragmentaci indexu a aktualizace statistik pro jednu nebo více databází. Tento postup automaticky zvolí, zda se má index znovu sestavit nebo znovu uspořádat podle úrovně fragmentace, mimo jiné parametry, a aktualizovat statistiky lineární prahovou hodnotou.

  • UPDATE STATISTICS (Transact-SQL)