sp_statistics (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-databas i Microsoft Fabric

Returnerar en lista över alla index och statistik i en specificerad tabell eller indexerad vy.

Transact-SQL syntaxkonventioner

Syntax

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

Anmärkning

Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.

Arguments

[ @table_name = ] N'table_name'

Specificerar tabellen som används för att returnera kataloginformation. @table_name är sysname, utan standard. Wildcard-mönstermatchning stöds inte.

[ @table_owner = ] N'table_owner'

Namnet på bordsägaren för tabellen som används för att returnera kataloginformation. @table_owner är sysname, med standardvärdet .NULL Wildcard-mönstermatchning stöds inte. Om owner det inte anges gäller standardreglerna för tabellsynlighet för det underliggande databashanteringssystemet (DBMS).

I SQL Server, om den nuvarande användaren äger en tabell med det angivna namnet, returneras indexen för den tabellen. Om inte owner anges och den nuvarande användaren inte äger en tabell med den angivna name, letar denna procedur efter en tabell med den angivna name ägd av databasägaren. Om en sådan finns, returneras indexen i den tabellen.

[ @table_qualifier = ] N'table_qualifier'

Namnet på bordets kvalificerade. @table_qualifier är sysname, med standardvärdet .NULL Olika DBMS-produkter stödjer tredelad namngivning för tabeller (<qualifier>.<owner>.<name>). I SQL Server representerar denna parameter databasens namn. I vissa produkter representerar den servernamnet på tabellens databasmiljö.

[ @index_name = ] N'index_name'

Indexnamnet. @index_name är sysname, med standardvärdet .% Wildcard-mönstermatchning stöds.

[ @is_unique = ] 'is_unique'

Om endast unika index (om Y) ska returneras. @is_unique är char(1), med en standard tom sträng.

[ @accuracy = ] 'noggrannhet'

Nivån av kardinalitet och sidnoggrannhet för statistik. @accuracy är karaktär(1), med en standard på Q. Specificera E att statistiken uppdateras så att kardinalitet och sidorna är korrekta.

  • E (SQL_ENSURE) ber föraren att ovillkorligt hämta statistiken.

  • Q (SQL_QUICK) ber föraren att hämta kardinaliteten och sidorna, endast om de är lättillgängliga från servern. I det här fallet säkerställer inte drivrutinen att värdena är aktuella. Applikationer som skrivs till Open Group-standarden får SQL_QUICK alltid beteende från ODBC 3.x-kompatibla drivrutiner.

Resultatuppsättning

Kolumnnamn Datatyp Description
TABLE_QUALIFIER sysname Bordskvalificeringsnamn. Denna kolumn kan vara NULL.
TABLE_OWNER sysname Bordägarens namn. Denna kolumn returnerar alltid ett värde.
TABLE_NAME sysname Tabellnamn. Denna kolumn returnerar alltid ett värde.
NON_UNIQUE smallint Inte nullbar.

0 = Unik
1 = Inte unik
INDEX_QUALIFIER sysname Ägarnamn på index. Vissa DBMS-produkter tillåter användare utanför tabellägaren att skapa index. I SQL Server är denna kolumn alltid samma som TABLE_NAME.
INDEX_NAME sysname Namnet på indexet. Denna kolumn returnerar alltid ett värde.
TYPE smallint Denna kolumn ger alltid ett värde:

0 = Statistik för en tabell
1 = Klustrade
2 = Hashed
3 = Icke-klustrat
SEQ_IN_INDEX smallint Kolumnens position inom indexet.
COLUMN_NAME sysname Kolumnnamn för varje kolumn i den TABLE_NAME returnerade. Denna kolumn returnerar alltid ett värde.
COLLATION char(1) Ordning som används vid sortering. Kan vara:

A = Stigande
D = Nedåtgående
NULL = Ej tillämpligt
CARDINALITY int Antal rader i tabellen eller unika värden i indexet.
PAGES int Antal sidor för att lagra index eller tabell.
FILTER_CONDITION varchar(128) SQL Server returnerar inget värde.

Returnera kodvärden

Ingen.

Anmärkningar

Indexen i resultatmängden visas i stigande ordning efter kolumnerna NON_UNIQUE, TYPE, INDEX_NAME, och SEQ_IN_INDEX.

Indextypen klustrade avser ett index där tabelldata lagras i indexets ordning. Detta värde motsvarar SQL Server-klustrade index.

Indextypen Hashed accepterar exakt matchning eller intervallsökningar, men mönstermatchningssökningar använder inte indexet.

Systemlagred sp_statistics procedur är ekvivalent med SQLStatistics i ODBC. De returnerade resultaten är ordnade efter NON_UNIQUE, , , INDEX_QUALIFIERINDEX_NAME, och SEQ_IN_INDEXTYPE. För mer information, se ODBC-referensen.

Permissions

Kräver SELECT tillstånd på schemat.

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

Följande exempel returnerar information om DimEmployee tabellen från exempeldatabasen AdventureWorks .

EXECUTE sp_statistics DimEmployee;