Sdílet prostřednictvím


Vytvoření statistiky

platí pro: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL Database v Microsoft Fabric

Statistiku optimalizace dotazů můžete vytvořit v jednom nebo více sloupcích tabulky nebo indexovaného zobrazení v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Pro většinu dotazů už optimalizátor dotazů generuje nezbytné statistiky pro vysoce kvalitní plán dotazů; v několika případech je potřeba vytvořit další statistiky.

Omezení a restrikce

Před vytvořením statistik pomocí příkazu CREATE STATISTICS ověřte, zda je možnost AUTO_CREATE_STATISTICS nastavena na úrovni databáze. Tím zajistíte, že optimalizátor dotazů bude nadále pravidelně vytvářet statistiky s jedním sloupcem pro sloupce predikátu dotazu.

Pro každý objekt statistiky můžete zobrazit až 32 sloupců.

Definici sloupce tabulky definovaného v predikátu filtrované statistiky nemůžete vypustit, přejmenovat ani změnit.

Dovolení

Vyžaduje, aby uživatel byl vlastníkem tabulky nebo indexovaného zobrazení nebo členem jedné z následujících rolí: správce systému pevnou roli serveru, db_owner pevnou roli databáze nebo db_ddladmin pevnou roli databáze.

Použití aplikace SQL Server Management Studio

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

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

  3. Výběrem znaménka plus rozbalte tabulku, ve které chcete vytvořit novou statistiku.

  4. Klikněte pravým tlačítkem na složku Statistika a vyberte Nová statistika....

    Následující vlastnosti se zobrazí na stránce Obecné v dialogovém okně Nová statistika v tabulcetable_name.

    Vlastnost Popis
    název tabulky Zobrazí název tabulky popsané statistikou.
    název statistiky Zobrazí název databázového objektu, kde jsou uloženy statistiky.
    Statistické sloupce Tato mřížka zobrazuje sloupce popsané touto sadou statistik. Všechny hodnoty v mřížce jsou jen pro čtení.
    Název Zobrazí název sloupce popsaného statistikou. Může to být jeden sloupec nebo kombinace sloupců v jedné tabulce.
    datový typ Určuje datový typ sloupců popsaných statistikou.
    velikost Zobrazí velikost datového typu pro každý sloupec.
    identita Označuje sloupec identity, když je zaškrtnutý.
    Povolit nul Určuje, zda sloupec přijímá hodnoty NULL.
    Přidat Přidejte do mřížky statistiky další sloupce z tabulky.
    odebrat Odeberte vybraný sloupec z mřížky statistiky.
    Přesunout nahoru Přesunutí vybraného sloupce do dřívějšího umístění v mřížce statistiky Umístění v mřížce může podstatně ovlivnit užitečnost statistiky.
    Přesunout dolů Přesunutí vybraného sloupce do pozdějšího umístění v mřížce statistiky
    Statistika pro tyto sloupce byla naposledy aktualizována Určuje, jak staré jsou statistiky. Statistiky jsou cennější, když jsou aktuální. Aktualizujte statistiky po velkých změnách dat nebo po přidání atypických dat. Statistiky pro tabulky, které mají konzistentní distribuci dat, musí být aktualizovány méně často.
    aktualizovat statistiky pro tyto sloupce Při zavření dialogového okna zkontrolujte, jestli chcete aktualizovat statistiky.

    Následující vlastnost se zobrazí na stránce filtru v dialogovém okně Nová statistika v tabulcetable_name.

    Nemovitost Popis
    výraz filtru Definuje, které datové řádky se mají zahrnout do filtrovaných statistik. Například Production.ProductSubcategoryID IN ( 1, 2, 3 )
  5. V dialogovém okně Nové statistiky v tabulcetable_name na stránce Obecné vyberte možnost Přidat.

    Následující vlastnosti se zobrazí v dialogovém okně Vybrat sloupce. Tyto informace jsou jen pro čtení.

    Vlastnost Popis
    jméno Zobrazí název sloupce popsaného statistikou. Může to být jeden sloupec nebo kombinace sloupců v jedné tabulce.
    datový typ Určuje datový typ sloupců popsaných statistikou.
    Velikost Zobrazí velikost datového typu pro každý sloupec.
    identita Pokud je zaškrtnut, označuje sloupec identity.
    Povolit nul Určuje, zda sloupec přijímá hodnoty NULL.
  6. V dialogovém okně Vybrat sloupce zaškrtněte políčko nebo zaškrtávací políčka u každého sloupce, pro který chcete vytvořit statistiku, a pak vyberte OK.

  7. V dialogovém okně Nová statistika v tabulcetable_name vyberte OK.

Použijte Transact-SQL

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

  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
    -- Create new statistic object called ContactMail1
    -- on the BusinessEntityID and EmailPromotion columns in the Person.Person table.
    
    CREATE STATISTICS ContactMail1
        ON Person.Person (BusinessEntityID, EmailPromotion);
    GO
    
  4. Statistika vytvořená výše potenciálně zlepšuje výsledky pro následující dotaz.

    USE AdventureWorks2022;
    GO
    SELECT LastName, FirstName
    FROM Person.Person
    WHERE EmailPromotion = 2
    ORDER BY LastName, FirstName;
    GO
    

Další kroky

  • CREATE STATISTICS (Transact-SQL)