sys.dm_db_index_usage_stats (Transact-SQL)

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

Returnerar räkningar för olika typer av indexoperationer och när varje typ av operation senast utfördes.

I Azure SQL Database kan dynamiska hanteringsvyer inte exponera information som skulle påverka databasens inneslutning eller exponera information om andra databaser som användaren har åtkomst till. För att undvika att exponera den här informationen filtreras varje rad som innehåller data som inte tillhör den anslutna klientorganisationen bort.

Anmärkning

DMV sys.dm_db_index_usage_stats returnerar inte information om minnesoptimerade index eller rumsliga index. För information om minnesoptimerad indexanvändning, se sys.dm_db_xtp_index_stats (Transact-SQL).

Anmärkning

För att anropa denna vy från Azure Synapse Analytics eller Analytics Platform System (PDW), använd sys.dm_pdw_nodes_db_index_usage_stats. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.

Kolumnnamn Datatyp Description
database_id smallint ID för databasen där tabellen eller vyn är definierad.

I Azure SQL Database är värdena unika i en enskild databas eller en elastisk pool, men inte inom en logisk server.
object_id int ID för tabellen eller vyn där indexet är definierat
index_id int ID för indexet.
user_seeks bigint Antal sökningar per användarfrågor.
user_scans bigint Antal skanningar av användarfrågor som inte använde 'seek'-predikatet.
user_lookups bigint Antal bokmärkesuppslagningar av användarens förfrågningar.
user_updates bigint Antal uppdateringar per användarförfrågningar. Detta inkluderar Infog, Delete, och Updates som representerar antalet operationer som utförts, inte de faktiska raderna som påverkas. Till exempel, om du raderar 1000 rader i ett och samma uttalande, ökar detta antal med 1
last_user_seek datetime Tid för senaste användarsökning
last_user_scan datetime Tid för senaste användarskanning.
last_user_lookup datetime Tid för senaste användaruppslag.
last_user_update datetime Tid för senaste användaruppdatering.
system_seeks bigint Antal sökningar per systemfrågor.
system_scans bigint Antal skanningar per systemfrågor.
system_lookups bigint Antal uppslagningar via systemfrågor.
system_updates bigint Antal uppdateringar per systemfrågor.
last_system_seek datetime Tid för sista systemsökning.
last_system_scan datetime Tid för sista systemskanning.
last_system_lookup datetime Tid för senaste systemsökning.
last_system_update datetime Tid för senaste systemuppdatering.
pdw_node_id int gäller för: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifieraren för noden som den här fördelningen är på.

Anmärkningar

Varje enskild sökning, skanning, uppslagning eller uppdatering på det angivna indexet genom en frågeexekvering räknas som användning av det indexet och ökar motsvarande räknare i denna vy. Information rapporteras både för operationer orsakade av användargenererade frågor och för operationer orsakade av internt genererade frågor, såsom skanningar för insamling av statistik.

Kolumnen user_updates är en underhållsräknare på indexet orsakad av insättnings-, uppdaterings- eller borttagningsoperationer på den underliggande tabellen eller vyn. Du kan använda denna vy för att avgöra vilka index som bara används lätt av dina applikationer. Du kan också använda vyn för att avgöra vilka index som har underhållskostnader. Du kan överväga att ta bort index som medför underhållskostnader men som inte används för frågor, eller bara används sällan för frågor.

Räknarna initieras till tomma när databasmotorn startas. Använd kolumnen sqlserver_start_time i sys.dm_os_sys_info för att hitta den senaste starttiden för databasmotorn. Dessutom, när en databas kopplas bort eller stängs ner (till exempel eftersom AUTO_CLOSE är satt till PÅ), tas alla rader som är kopplade till databasen bort.

När ett index används läggs en rad till sys.dm_db_index_usage_stats om en rad inte redan finns för indexet. När raden läggs till sätts dess räknare initialt till noll.

Vid uppgradering till SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) eller SQL Server 2014 (12.x) tas poster bort i sys.dm_db_index_usage_stats inlägg. Från och med SQL Server 2016 (13.x) behålls poster som de var före SQL Server 2008 R2 (10.50.x).

Permissions

På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.

I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.

Behörigheter för SQL Server 2022 och senare

Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.

Se även

Indexrelaterade dynamiska hanteringsvyer och funktioner (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)
Övervaka och finjustera prestanda