Delen via


sp_statistics (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform Systeem (PDW)SQL-database in Microsoft Fabric

Geeft een lijst terug van alle indexen en statistieken op een gespecificeerde tabel of geïndexeerde weergave.

Transact-SQL syntaxis-conventies

Syntaxis

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' ]
[ ; ]

Opmerking

Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.

Arguments

[ @table_name = ] N'table_name'

Specificeert de tabel die wordt gebruikt om catalogusinformatie terug te geven. @table_name is een systeemnaam, zonder standaard. Wildcard-patroonmatching wordt niet ondersteund.

[ @table_owner = ] N'table_owner'

De naam van de tafel-eigenaar van de tabel die wordt gebruikt om catalogusinformatie terug te geven. @table_owner is sysname, met als standaard .NULL Wildcard-patroonmatching wordt niet ondersteund. Als owner niet is gespecificeerd, gelden de standaard tabelzichtbaarheidsregels van het onderliggende databasebeheersysteem (DBMS).

In SQL Server, als de huidige gebruiker een tabel met de opgegeven naam bezit, worden de indexen van die tabel teruggegeven. Als owner niet is gespecificeerd en de huidige gebruiker geen tabel bezit met de gespecificeerde name, zoekt deze procedure naar een tabel met de gespecificeerde name die eigendom is van de database-eigenaar. Als er een bestaat, worden de indexen van die tabel teruggegeven.

[ @table_qualifier = ] N'table_qualifier'

De naam van de kwalificatiespeler op de tafel. @table_qualifier is sysname, met als standaard .NULL Verschillende DBMS-producten ondersteunen drieledige naamgeving voor tabellen (<qualifier>.<owner>.<name>). In SQL Server stelt deze parameter de databasenaam voor. In sommige producten vertegenwoordigt het de servernaam van de databaseomgeving van de tabel.

[ @index_name = ] N'index_name'

De indexnaam. @index_name is sysname, met als standaard .% Wildcard-patroonmatching wordt ondersteund.

[ @is_unique = ] 'is_unique'

Of alleen unieke indexen (als Y) worden teruggegeven. @is_unique is char(1), met als standaard een lege string.

[ @accuracy = ] 'nauwkeurigheid'

Het niveau van kardinaliteit en paginanauwkeurigheid voor statistiek. @accuracy is karakter(1), met als standaard .Q Specificeer E dat statistieken worden bijgewerkt zodat kardinaliteit en pagina's accuraat zijn.

  • E (SQL_ENSURE) vraagt de bestuurder om de statistieken onvoorwaardelijk op te halen.

  • Q (SQL_QUICK) vraagt de chauffeur om de kardinaliteit en pagina's op te halen, alleen als deze gemakkelijk beschikbaar zijn op de server. In dit geval zorgt de driver er niet voor dat de waarden actueel zijn. Applicaties die zijn geschreven naar de Open Group-standaard krijgen SQL_QUICK altijd gedrag van ODBC 3.x-conforme drivers.

Resultaatset

Kolomnaam Gegevenstype Description
TABLE_QUALIFIER sysname Naam van de kwalificatie in de tabel. Deze kolom kan zijn NULL.
TABLE_OWNER sysname Naam van de tafeleigenaar. Deze kolom geeft altijd een waarde terug.
TABLE_NAME sysname Tabelnaam. Deze kolom geeft altijd een waarde terug.
NON_UNIQUE smallint Niet nullwaarde.

0 = Uniek
1 = Niet uniek
INDEX_QUALIFIER sysname Naam van de eigenaar van de index. Sommige DBMS-producten maken het mogelijk voor gebruikers anders dan de tabeleigenaar om indexen te maken. In SQL Server is deze kolom altijd hetzelfde als TABLE_NAME.
INDEX_NAME sysname De naam van de index. Deze kolom geeft altijd een waarde terug.
TYPE smallint Deze kolom geeft altijd een waarde terug:

0 = Statistieken voor een tabel
1 = Geclusterd
2 = Hashed
3 = Niet-geclusterd
SEQ_IN_INDEX smallint Positie van de kolom binnen de index.
COLUMN_NAME sysname Kolomnaam voor elke kolom van de teruggestuurde kolom TABLE_NAME . Deze kolom geeft altijd een waarde terug.
COLLATION char(1) Volgorde gebruikt bij de samenstelling. Dit kan zijn:

A = Opstijgend
D = Dalend
NULL = Niet van toepassing
CARDINALITY int Aantal rijen in de tabel of unieke waarden in de index.
PAGES int Aantal pagina's om de index of tabel op te slaan.
FILTER_CONDITION varchar(128) SQL Server geeft geen waarde terug.

Codewaarden retourneren

Geen.

Opmerkingen

De indexen in de resultaatset verschijnen in oplopende volgorde volgens de kolommen NON_UNIQUE, TYPE, INDEX_NAME, en SEQ_IN_INDEX.

Het indextype geclusterd verwijst naar een index waarin tabelgegevens worden opgeslagen in de volgorde van de index. Deze waarde komt overeen met SQL Server-geclusterde indexen.

Het indextype Hashed accepteert exacte match- of bereikzoekopdrachten, maar patroonzoekopdrachten gebruiken de index niet.

De sp_statistics systeemopslagprocedure is gelijkwaardig aan die SQLStatistics in ODBC. De teruggegeven resultaten zijn geordend door NON_UNIQUE, TYPE, , INDEX_QUALIFIER, INDEX_NAMEen SEQ_IN_INDEX. Voor meer informatie, zie de ODBC Reference.

Permissions

Vereist SELECT toestemming voor het schema.

Voorbeeld: Azure Synapse Analytics and Analytics Platform System (PDW)

Het volgende voorbeeld geeft informatie over de DimEmployee tabel uit de AdventureWorks voorbeelddatabase.

EXECUTE sp_statistics DimEmployee;