Sdílet prostřednictvím


sp_statistics (Transact-SQL)

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

Vrací seznam všech indexů a statistik ve specifikované tabulce nebo indexovaném pohledu.

Transact-SQL konvence syntaxe

Syntaxe

sp_statistics
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @index_name = ] N'index_name' ]
    [ , [ @is_unique = ] 'is_unique' ]
    [ , [ @accuracy = ] 'accuracy' ]
[ ; ]

Poznámka:

Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.

Arguments

[ @table_name = ] 'Ntable_name'

Specifikuje tabulku používanou k vrácení katalogových informací. @table_name je sysname, bez výchozího nastavení. Wildcard pattern matching není podporován.

[ @table_owner = ] N'table_owner'

Jméno vlastníka tabulky používané pro vrácení informací z katalogu. @table_owner je sysname, s výchozím nastavením NULL. Wildcard pattern matching není podporován. Pokud owner není specifikováno, platí výchozí pravidla pro viditelnost tabulek základního databázového systému (DBMS).

V SQL Serveru, pokud aktuální uživatel vlastní tabulku s uvedeným názvem, indexy této tabulky se vrátí. Pokud owner není specifikováno a aktuální uživatel nevlastní tabulku se specifikovaným name, tento postup hledá tabulku se specifikovaným name vlastníkem databáze. Pokud existuje, indexy této tabulky se vrátí.

[ @table_qualifier = ] N'table_qualifier'

Název kvalifikanta na tabulce. @table_qualifier je sysname, s výchozím .NULL Různé produkty DBMS podporují třífázové pojmenování tabulek (<qualifier>.<owner>.<name>). V SQL Serveru tento parametr představuje název databáze. V některých produktech představuje název serveru databázového prostředí tabulky.

[ @index_name = ] N'index_name'

Název indexu. @index_name je sysname s výchozím nastavením %. Je podporováno porovnávání vzorů divoké karty.

[ @is_unique = ] 'is_unique'

Zda mají být vráceny pouze unikátní indexy (pokud Y), @is_unique je char(1), s výchozím nastavením prázdného řetězce.

[ @accuracy = ] 'přesnost'

Úroveň kardinálnosti a přesnost stránky pro statistiku. @accuracy je char(1), s výchozím hodnotou Q. Specifikujte E , že statistiky jsou aktualizovány tak, aby kardinálnost a stránky byly přesné.

  • E (SQL_ENSURE) žádá řidiče, aby bezpodmínečně získal statistiky.

  • Q (SQL_QUICK) žádá ovladač, aby získal kardinálnost a stránky, pouze pokud jsou snadno dostupné na serveru. V tomto případě ovladač nezajišťuje, že hodnoty jsou aktuální. Aplikace napsané podle standardu Open Group vždy vykazují SQL_QUICK chování ovladačů kompatibilních s ODBC 3.x.

Sada výsledků

Název sloupce Datový typ Description
TABLE_QUALIFIER sysname Název kvalifikátoru tabulky. Tento sloupec může být .NULL
TABLE_OWNER sysname Jméno majitele stolu. Tento sloupec vždy vrací hodnotu.
TABLE_NAME sysname Název tabulky Tento sloupec vždy vrací hodnotu.
NON_UNIQUE smallint Není nulovatelný.

0 = Unikátní
1 = Není jedinečné
INDEX_QUALIFIER sysname Jméno vlastníka indexu. Některé DBMS produkty umožňují uživatelům mimo vlastníka tabulky vytvářet indexy. V SQL Serveru je tento sloupec vždy stejný jako TABLE_NAME.
INDEX_NAME sysname Název indexu. Tento sloupec vždy vrací hodnotu.
TYPE smallint Tento sloupec vždy vrací hodnotu:

0 = Statistiky tabulky
1 = Shlukováno
2 = Hashed
3 = Neshlukované
SEQ_IN_INDEX smallint Pozice sloupce v indexu.
COLUMN_NAME sysname Název sloupce pro každý sloupec vráceného sloupce TABLE_NAME . Tento sloupec vždy vrací hodnotu.
COLLATION char(1) Pořadí používané při porovnání. Může to být:

A = Vzestup
D = Klesající
NULL = Neplatí
CARDINALITY int Počet řádků v tabulce nebo jedinečné hodnoty v indexu.
PAGES int Počet stran pro uložení indexu nebo tabulky.
FILTER_CONDITION varchar(128) SQL Server nevrací hodnotu.

Hodnoty návratového kódu

Žádné.

Poznámky

Indexy v množině výsledků se objevují NON_UNIQUEvzestupně podle sloupců , TYPE, INDEX_NAME, a SEQ_IN_INDEX.

Typ indexu clustered označuje index, ve kterém jsou tabulková data uložena v pořadí indexu. Tato hodnota odpovídá clusterovaným indexům SQL Serveru.

Typ indexu Hashed přijímá přesné vyhledávání nebo vyhledávání v rozsahu, ale vyhledávání vzorů podle vzorů tento index nepoužívá.

Procedura uložená sp_statistics v systému je ekvivalentní jako SQLStatistics v ODBC. Výsledky vrácené jsou uspořádány podle NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, a .SEQ_IN_INDEX Pro více informací viz ODBC Reference.

Povolení

Vyžaduje SELECT povolení ke schématu.

Příklad: Azure Synapse Analytics and Analytics Platform System (PDW)

Následující příklad vrací informace o tabulce DimEmployee ze vzorkové databáze AdventureWorks .

EXECUTE sp_statistics DimEmployee;