sys.query_store_query_variant (Transact-SQL)
Se aplica a: SQL Server 2022 (16.x)
Contiene información sobre las relaciones de elementos primarios y secundarios entre las consultas parametrizadas originales (también conocidas como consultas primarias), los planes del distribuidor y sus variantes de consulta secundarias. Esta vista de catálogo ofrece la posibilidad de ver todas las variantes de consulta asociadas a un distribuidor, así como las consultas parametrizadas originales. Las variantes de consulta tendrán el mismo valor de query_hash que se ve desde dentro de la vista de catálogo de sys.query_store_query, que cuando se une con las vistas de catálogo de sys.query_store_query_variant y sys.query_store_runtime_stats, las estadísticas de uso de recursos agregados se pueden obtener para las consultas que solo difieren según sus valores de entrada.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
query_variant_query_id | bigint | Clave principal. Identificador de la variante de consulta confidencial con parámetros. |
parent_query_id | bigint | Identificador de la consulta parametrizada original. |
dispatcher_plan_id | bigint | Identificador del plan de distribución de optimización del plan confidencial de parámetros. |
Comentarios
Dado que se puede asociar más de una variante de consulta a un plan de distribuidor, habrá varios planes que pertenezcan a variantes de consulta que, finalmente, se agregarán a las estadísticas generales de uso de recursos de la consulta primaria. El plan del distribuidor para las variantes de consulta no genera estadísticas en tiempo de ejecución en el Almacén de consultas, lo que hará que las consultas de Almacén de consultas existentes ya no sean suficientes al recopilar estadísticas generales a menos que se incluya una combinación adicional a la vista de query_store_query_variant.
Permisos
Requiere el permiso VIEW DATABASE STATE.
Ejemplos
Ver información de variante Almacén de consultas
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
Ver información de Almacén de consultas distribuidor y 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
Consulte también
- 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)
- Supervisar el rendimiento mediante el Almacén de consultas
- Vistas de catálogo (Transact-SQL)
- Procedimientos almacenados en el almacén de consultas (Transact-SQL)