sys.query_store_query_variant (Transact-SQL)
S’applique à : SQL Server 2022 (16.x)
Contient des informations sur les relations parent-enfant entre les requêtes paramétrables d’origine (également appelées requêtes parentes), les plans de répartiteur et leurs variantes de requête enfant. Cet affichage catalogue offre la possibilité d’afficher toutes les variantes de requête associées à un répartiteur ainsi que les requêtes paramétrables d’origine. Les variantes de requête ont la même valeur query_hash que celle affichée à partir de l’affichage catalogue sys.query_store_query, qui, lorsqu’elles sont jointes aux vues de catalogue sys.query_store_query_variant et sys.query_store_runtime_stats, les statistiques d’utilisation des ressources agrégées peuvent être obtenues pour les requêtes qui diffèrent uniquement par leurs valeurs d’entrée.
Nom de la colonne | Type de données | Description |
---|---|---|
query_variant_query_id | bigint | Clé primaire ID de la variante de requête sensible paramétrée. |
parent_query_id | bigint | ID de la requête paramétrable d’origine. |
dispatcher_plan_id | bigint | ID du plan d’optimisation de plan sensible aux paramètres. |
Notes
Étant donné que plusieurs variantes de requête peuvent être associées à un plan de répartiteur, plusieurs plans appartiennent à des variantes de requête qui seront éventuellement ajoutés aux statistiques globales d’utilisation des ressources de la requête parente. Le plan de répartiteur pour les variantes de requête ne produit aucune statistique d’exécution dans le Magasin des requêtes, ce qui entraîne l’absence de Magasin des requêtes requêtes existantes lors de la collecte de statistiques globales, sauf si une jointure supplémentaire à la vue query_store_query_variant est incluse.
autorisations
Nécessite l’autorisation VIEW DATABASE STATE.
Exemples
Afficher les informations de variante Magasin des requêtes
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
Afficher Magasin des requêtes dispatcher et les informations de variante
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
Voir aussi
- 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)
- Analyse des performances à l’aide du magasin de requêtes
- Affichages catalogue (Transact-SQL)
- Procédures stockées du Magasin des requêtes (Transact-SQL)