Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2022 (16.x) e versioni
successive del database
SQL di Azure Istanza
gestita di SQL di Azurein Microsoft Fabric
Contiene informazioni sulle relazioni padre-figlio tra le query con parametri originali (note anche come query padre), i piani dispatcher e le relative varianti di query figlio. Questa vista catalogo mostra tutte le varianti di query associate a un dispatcher e le query parametrizzate originali. Le varianti di query condividono lo stesso query_hash valore di quello visualizzato da sys.query_store_query. Quando si unisce sys.query_store_query_variant con sys.query_store_query e sys.query_store_runtime_stats, si possono ottenere statistiche aggregate sull'uso delle risorse per query che differiscono solo per i loro valori di input.
| Nome colonna | Tipo di dati | Descrizione |
|---|---|---|
query_variant_query_id |
bigint |
Chiave primaria. ID della variante di query sensibile con parametri. |
parent_query_id |
bigint |
ID della query con parametri originale. |
dispatcher_plan_id |
bigint |
ID del piano dispatcher di ottimizzazione del piano sensibile ai parametri. |
Osservazioni:
Poiché più di una variante di query può essere associata a un singolo piano dispatcher, più piani appartengono alle varianti di query e contribuiscono alle statistiche complessive di utilizzo delle risorse della query genitore. Il piano dispatcher per le varianti di query non produce statistiche di runtime nel Query Store. Di conseguenza, le query esistenti del Query Store non sono sufficienti per raccogliere statistiche complessive a meno che non si includa una join extra alla sys.query_store_query_variant vista.
Autorizzazioni
Richiede l'autorizzazione VIEW DATABASE STATE.
Autorizzazioni per SQL Server 2022 e versioni successive
È richiesta l'autorizzazione VIEW DATABASE PERFORMANCE STATE per il database.
Esempi
Visualizzare le informazioni sulle varianti di Query Store
SELECT
qspl.plan_type_desc AS query_plan_type,
qspl.plan_id as query_store_planid,
qspl.query_id as query_store_queryid,
qsqv.query_variant_query_id as query_store_variant_queryid,
qsqv.parent_query_id as query_store_parent_queryid,
qsqv.dispatcher_plan_id as query_store_dispatcher_planid,
OBJECT_NAME(qsq.object_id) as module_name,
qsq.query_hash,
qsqtxt.query_sql_text,
convert(xml,qspl.query_plan)as show_plan_xml,
qsrs.last_execution_time as last_execution_time,
qsrs.count_executions AS number_of_executions,
qsq.count_compiles AS number_of_compiles
FROM sys.query_store_runtime_stats AS qsrs
JOIN sys.query_store_plan AS qspl
ON qsrs.plan_id = qspl.plan_id
JOIN sys.query_store_query_variant qsqv
ON qspl.query_id = qsqv.query_variant_query_id
JOIN sys.query_store_query as qsq
ON qsqv.parent_query_id = qsq.query_id
JOIN sys.query_store_query_text AS qsqtxt
ON qsq.query_text_id = qsqtxt .query_text_id
ORDER BY qspl.query_id, qsrs.last_execution_time;
GO
Visualizzare le informazioni sul dispatcher e sulle varianti di Query Store
SELECT
qspl.plan_type_desc AS query_plan_type,
qspl.plan_id as query_store_planid,
qspl.query_id as query_store_queryid,
qsqv.query_variant_query_id as query_store_variant_queryid,
qsqv.parent_query_id as query_store_parent_queryid,
qsqv.dispatcher_plan_id as query_store_dispatcher_planid,
qsq.query_hash,
qsqtxt.query_sql_text,
CONVERT(xml,qspl.query_plan)as show_plan_xml,
qsq.count_compiles AS number_of_compiles,
qsrs.last_execution_time as last_execution_time,
qsrs.count_executions AS number_of_executions
FROM sys.query_store_query qsq
LEFT JOIN sys.query_store_query_text qsqtxt
ON qsq.query_text_id = qsqtxt.query_text_id
LEFT JOIN sys.query_store_plan qspl
ON qsq.query_id = qspl.query_id
LEFT JOIN sys.query_store_query_variant qsqv
ON qsq.query_id = qsqv.query_variant_query_id
LEFT JOIN sys.query_store_runtime_stats qsrs
ON qspl.plan_id = qsrs.plan_id
LEFT JOIN sys.query_store_runtime_stats_interval qsrsi
ON qsrs.runtime_stats_interval_id = qsrsi.runtime_stats_interval_id
WHERE qspl.plan_type = 1 or qspl.plan_type = 2
ORDER BY qspl.query_id, qsrs.last_execution_time;
GO
Contenuti correlati
- sys.query_store_plan (Transact-SQL)
- sys.query_store_query (Transact-SQL)
- sys.query_store_runtime_stats (Transact-SQL)
- sys.query_store_wait_stats (Transact-SQL)
- sys.query_store_runtime_stats_interval (Transact-SQL)
- Monitoraggio delle prestazioni con Query Store
- Viste del catalogo (Transact-SQL)
- Procedure memorizzate del Query Store (Transact-SQL)