sys.query_store_query_variant (Transact-SQL)
Gilt für: SQL Server 2022 (16.x)
Enthält Informationen zu den Beziehungen zwischen den ursprünglichen parametrisierten Abfragen (auch als übergeordnete Abfragen bezeichnet), Dispatcherplänen und ihren untergeordneten Abfragevarianten. Diese Katalogansicht bietet die Möglichkeit, alle Abfragevarianten anzuzeigen, die einem Dispatcher zugeordnet sind, sowie die ursprünglichen parametrisierten Abfragen. Abfragevarianten weisen den gleichen query_hash Wert auf, der in der sys.query_store_query-Katalogsicht angezeigt wird. Wenn sie mit den sys.query_store_query_variant- und sys.query_store_runtime_stats Katalogsichten verknüpft sind, können aggregierte Ressourcennutzungsstatistiken für Abfragen abgerufen werden, die sich nur durch ihre Eingabewerte unterscheiden.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
query_variant_query_id | bigint | Der Primärschlüssel. ID der parametrisierten vertraulichen Abfragevariante. |
parent_query_id | bigint | ID der ursprünglich parametrisierten Abfrage. |
dispatcher_plan_id | bigint | ID des Optimierungsverteilersplans für parametersensitive Pläne. |
Bemerkungen
Da einem Dispatcherplan mehr als eine Abfragevariante zugeordnet werden kann, gibt es mehrere Pläne, die zu Abfragevarianten gehören, die schließlich zur Gesamtressourcennutzungsstatistik der übergeordneten Abfrage hinzugefügt werden. Der Dispatcherplan für Abfragevarianten erzeugt keine Laufzeitstatistiken im Abfragespeicher, was dazu führt, dass vorhandene Abfragespeicher Abfragen beim Erfassen der Gesamtstatistiken nicht mehr ausreichen, es sei denn, es ist eine zusätzliche Verknüpfung mit der query_store_query_variant-Ansicht enthalten.
Berechtigungen
Erfordert die Berechtigung VIEW DATABASE STATE.
Beispiele
Anzeigen Abfragespeicher Varianteninformationen
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
Anzeigen Abfragespeicher Dispatcher- und Varianteninformationen
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
Weitere Informationen
- 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)
- Überwachen der Leistung mit dem Abfragespeicher
- Katalogsichten (Transact-SQL)
- Gespeicherte Prozeduren für den Abfragespeicher (Transact-SQL)