Bagikan melalui


sys.query_store_query_variant (T-SQL)

Berlaku untuk: SQL Server 2022 (16.x)

Berisi informasi tentang hubungan induk-anak antara kueri berparameter asli (juga dikenal sebagai kueri induk), paket dispatcher, dan varian kueri anak mereka. Tampilan katalog ini menawarkan kemampuan untuk melihat semua varian kueri yang terkait dengan dispatcher serta kueri parameter asli. Varian kueri akan memiliki nilai query_hash yang sama seperti yang dilihat dari dalam tampilan katalog sys.query_store_query, yang ketika digabungkan dengan tampilan katalog sys.query_store_query_variant dan sys.query_store_runtime_stats, statistik penggunaan sumber daya agregat dapat diperoleh untuk kueri yang hanya berbeda dengan nilai inputnya.

Nama kolom Jenis data Deskripsi
query_variant_query_id bigint Kunci primer. ID varian kueri sensitif berparameter.
parent_query_id bigint ID kueri parameter asli.
dispatcher_plan_id bigint ID paket pengoptimalan paket sensitif parameter dispatcher.

Keterangan

Karena lebih dari satu varian kueri dapat dikaitkan dengan satu paket dispatcher, akan ada beberapa paket yang termasuk dalam varian kueri yang akhirnya akan ditambahkan ke statistik penggunaan sumber daya keseluruhan kueri induk. Paket dispatcher untuk varian kueri tidak menghasilkan statistik runtime apa pun di Penyimpanan Kueri, yang akan menyebabkan kueri Penyimpanan Kueri yang ada tidak lagi cukup saat mengumpulkan statistik keseluruhan kecuali gabungan tambahan ke tampilan query_store_query_variant disertakan.

Izin

Memerlukan izin TAMPILKAN STATUS DATABASE.

Contoh

Menampilkan informasi varian Penyimpanan Kueri

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

Menampilkan informasi dispatcher dan varian Penyimpanan Kueri

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

Lihat Juga