Megosztás a következőn keresztül:


sys.query_store_query_variant (Transact-SQL)

A következőkre vonatkozik: Az SQL Server 2022 (16.x) és újabb verziói az Azure SQL DatabaseAzure SQL Managed InstanceSQL-adatbázist a Microsoft Fabricben

Információkat tartalmaz az eredeti paraméteres lekérdezések (más néven szülő lekérdezések), a diszpécsercsomagok és a gyermek lekérdezésvariánsok közötti szülő-gyermek kapcsolatokról. Ez a katalógusnézet lehetővé teszi a diszpécserrel társított lekérdezésvariánsok és az eredeti paraméteres lekérdezések megtekintését. A lekérdezésvariánsok ugyanazzal a query_hash értékkel rendelkeznek, mint a sys.query_store_query katalógusnézetből, amely a sys.query_store_query_variant és sys.query_store_runtime_stats katalógusnézethez való csatlakozáskor a csak a bemeneti értékektől eltérő lekérdezések összesített erőforrás-használati statisztikáihoz érhető el.

Oszlop neve Adattípus Leírás
query_variant_query_id bigint Elsődleges kulcs. A paraméteres bizalmas lekérdezésvariáns azonosítója.
parent_query_id bigint Az eredeti paraméteres lekérdezés azonosítója.
dispatcher_plan_id bigint A paraméterérzékeny tervoptimalizálási diszpécsercsomag azonosítója.

Megjegyzések

Mivel egynél több lekérdezésvariáns társítható egy diszpécsercsomaghoz, több olyan csomag is lesz, amelyek a lekérdezésvariánsokhoz tartoznak, amelyek végül hozzáadják a szülő lekérdezés általános erőforrás-használati statisztikáit. A lekérdezésvariánsok diszpécsercsomagja nem hoz létre futásidejű statisztikákat a Lekérdezéstárban, ami miatt a meglévő Lekérdezéstár-lekérdezések már nem lesznek elegendőek az általános statisztikák összegyűjtésekor, kivéve, ha a query_store_query_variant nézethez további illesztést tartalmaz.

Engedélyek

A VIEW DATABASE STATE engedélyre van szüksége.

Példák

Lekérdezéstár variánsadatainak megtekintése

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

Lekérdezéstár diszpécserének és változatinformációinak megtekintése

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

Lásd még: