sys.query_store_wait_stats (Transact-SQL)
Si applica a: SQL Server 2017 (14.x) e versioni successive Database SQL di Azure
Contiene informazioni sulle informazioni sull'attesa per la query.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
wait_stats_id | bigint | Identificatore della riga che rappresenta le statistiche di attesa per il plan_id, runtime_stats_interval_id, execution_type e wait_category. È univoco solo per gli intervalli di statistiche di runtime precedenti. Per l'intervallo attualmente attivo, possono essere presenti più righe che rappresentano statistiche di attesa per il piano a cui fa riferimento plan_id, con il tipo di esecuzione rappresentato da execution_type e la categoria di attesa rappresentata da wait_category. In genere, una riga rappresenta le statistiche di attesa scaricate su disco, mentre altre rappresentano lo stato in memoria. Di conseguenza, per ottenere lo stato effettivo per ogni intervallo è necessario aggregare le metriche, raggruppare per plan_id, runtime_stats_interval_id, execution_type e wait_category. |
plan_id | bigint | Chiave esterna. Join a sys.query_store_plan (Transact-SQL).Joins to sys.query_store_plan (Transact-SQL). |
runtime_stats_interval_id | bigint | Chiave esterna. Join a sys.query_store_runtime_stats_interval (Transact-SQL). |
wait_category | tinyint | I tipi di attesa vengono classificati usando la tabella seguente e quindi il tempo di attesa viene aggregato in queste categorie di attesa. Diverse categorie di attesa richiedono un'analisi di follow-up diversa per risolvere il problema, ma i tipi di attesa della stessa categoria portano a esperienze di risoluzione dei problemi simili e fornire la query interessata oltre alle attese è la parte mancante per completare correttamente la maggior parte di tali indagini. |
wait_category_desc | nvarchar(128) | Per una descrizione testuale del campo della categoria di attesa, esaminare la tabella seguente. |
execution_type | tinyint | Determina il tipo di esecuzione della query: 0 - Esecuzione regolare (completata correttamente) 3 - Esecuzione interrotta avviata dal client 4 - Esecuzione interrotta dell'eccezione |
execution_type_desc | nvarchar(128) | Descrizione testuale del campo tipo di esecuzione: 0 - Regolare 3 - Interrotta 4 - Eccezione |
total_query_wait_time_ms | bigint | Tempo totale CPU wait per il piano di query entro l'intervallo di aggregazione e la categoria di attesa (indicato in millisecondi). |
avg_query_wait_time_ms | float | Durata media di attesa per il piano di query per esecuzione entro l'intervallo di aggregazione e la categoria di attesa (segnalata in millisecondi). |
last_query_wait_time_ms | bigint | Ultima durata di attesa per il piano di query entro l'intervallo di aggregazione e la categoria di attesa (segnalata in millisecondi). |
min_query_wait_time_ms | bigint | Tempo minimo CPU wait per il piano di query entro l'intervallo di aggregazione e la categoria di attesa (indicato in millisecondi). |
max_query_wait_time_ms | bigint | Tempo massimo CPU wait per il piano di query entro l'intervallo di aggregazione e la categoria di attesa (indicato in millisecondi). |
stdev_query_wait_time_ms | float | Query wait deviazione standard della durata per il piano di query entro l'intervallo di aggregazione e la categoria di attesa (segnalata in millisecondi). |
replica_group_id | bigint | Identifica il numero del set di repliche per questa replica. Chiave esterna da sys.query_store_replicas. Si applica a: SQL Server, a partire da SQL Server 2022 (16.x) |
Tabella di mapping delle categorie di attesa
"%" viene usato come carattere jolly
Valore intero | Categoria di attesa | I tipi di attesa includono nella categoria |
---|---|---|
0 | Unknown | Sconosciuto |
1 | CPU | SOS_SCHEDULER_YIELD |
2 | Thread di lavoro* | THREADPOOL |
3 | Blocca | LCK_M_% |
4 | Latch | LATCH_% |
5 | Buffer Latch | PAGELATCH_% |
6 | I/O buffer | PAGEIOLATCH_% |
7 | Compilazione* | RESOURCE_SEMAPHORE_QUERY_COMPILE |
8 | SQL CLR | CLR%, SQLCLR% |
9 | Mirroring | DBMIRROR% |
10 | Transazione | XACT%, DTC%, TRAN_MARKLATCH_%, MSQL_XACT_%, TRANSACTION_MUTEX |
11 | Idle | SLEEP_%, LAZYWRITER_SLEEP, SQLTRACE_BUFFER_FLUSH, SQLTRACE_INCREMENTAL_FLUSH_SLEEP, SQLTRACE_WAIT_ENTRIES, FT_IFTS_SCHEDULER_IDLE_WAIT, XE_DISPATCHER_WAIT, REQUEST_FOR_DEADLOCK_SEARCH, LOGMGR_QUEUE, ONDEMAND_TASK_QUEUE, CHECKPOINT_QUEUE, XE_TIMER_EVENT |
12 | Preventiva | PREEMPTIVE_% |
13 | Service Broker | BROKER_% (ma non BROKER_RECEIVE_WAITFOR) |
14 | I/O log tran | LOGMGR, LOGBUFFER, LOGMGR_RESERVE_APPEND, LOGMGR_FLUSH, LOGMGR_PMM_LOG, CHKPT, WRITELOG |
15 | I/O di rete | ASYNC_NETWORK_IO, NET_WAITFOR_PACKET, PROXY_NETWORK_IO, EXTERNAL_SCRIPT_NETWORK_IOF |
16 | Parallelism | CXCONSUMER, CXPACKET, CXSYNC_CONSUMER, CXSYNC_PORT, EXCHANGE, HT%, BMP%, BP% |
17 | Memory | RESOURCE_SEMAPHORE, CMEMTHREAD, CMEMPARTITIONED, EE_PMOLOCK, MEMORY_ALLOCATION_EXT, RESERVED_MEMORY_ALLOCATION_EXT, MEMORY_GRANT_UPDATE |
18 | Attesa utente | WAITFOR, WAIT_FOR_RESULTS, BROKER_RECEIVE_WAITFOR |
19 | Traccia | TRACEWRITE, SQLTRACE_LOCK, SQLTRACE_FILE_BUFFER, SQLTRACE_FILE_WRITE_IO_COMPLETION, SQLTRACE_FILE_READ_IO_COMPLETION, SQLTRACE_PENDING_BUFFER_WRITERS, SQLTRACE_SHUTDOWN, QUERY_TRACEOUT, TRACE_EVTNOTIFF |
20 | Ricerca full-text | FT_RESTART_CRAWL, FULLTEXT GATHERER, MSSEARCH, FT_METADATA_MUTEX, FT_IFTSHC_MUTEX, FT_IFTSISM_MUTEX, FT_IFTS_RWLOCK, FT_COMPROWSET_RWLOCK, FT_MASTER_MERGE, FT_PROPERTYLIST_CACHE, FT_MASTER_MERGE_COORDINATOR, PWAIT_RESOURCE_SEMAPHORE_FT_PARALLEL_QUERY_SYNC |
21 | Altre operazioni di I/O su disco | ASYNC_IO_COMPLETION, IO_COMPLETION, BACKUPIO, WRITE_COMPLETION, IO_QUEUE_LIMIT, IO_RETRY |
22 | Replica | SE_REPL_%, REPL_%, HADR_% (ma non HADR_THROTTLE_LOG_RATE_GOVERNOR), PWAIT_HADR_%, REPLICA_WRITES, FCB_REPLICA_WRITE, FCB_REPLICA_READ, PWAIT_HADRSIM |
23 | Log Rate Governor | LOG_RATE_GOVERNOR, POOL_LOG_RATE_GOVERNOR, HADR_THROTTLE_LOG_RATE_GOVERNOR, INSTANCE_LOG_RATE_GOVERNOR, RBIO_RG_% |
* Query Store tiene traccia delle statistiche di attesa solo durante l'esecuzione della query, non durante la compilazione delle query. Ciò limita la capacità di Query Store di tenere traccia delle statistiche di attesa di compilazione.
Autorizzazioni
È necessaria l'autorizzazione VIEW DATABASE STATE
.
Passaggi successivi
Altre informazioni su Query Store sono disponibili negli articoli seguenti:
- sys.query_store_replicas (Transact-SQL)
- sys.database_query_store_options (Transact-SQL)
- sys.query_context_settings (Transact-SQL)
- sys.query_store_plan (Transact-SQL)
- sys.query_store_query (Transact-SQL)
- sys.query_store_query_text (Transact-SQL)
- sys.query_store_runtime_stats_interval (Transact-SQL)
- Monitoraggio delle prestazioni tramite Query Store
- Viste del catalogo (Transact-SQL)
- Stored procedure di Query Store (Transact-SQL)