Microsoft SQL Server
Fråga butik
Sök…
Aktivera frågaffär i databasen
Query store kan aktiveras i databasen med hjälp av följande kommando:
ALTER DATABASE tpch SET QUERY_STORE = ON
SQL Server / Azure SQL-databas samlar information om exekverade frågor och ger information i sys.query_store-vyer:
- sys.query_store_query
- sys.query_store_query_text
- sys.query_store_plan
- sys.query_store_runtime_stats
- sys.query_store_runtime_stats_interval
- sys.database_query_store_options
- sys.query_context_settings
Få exekveringsstatistik för SQL-frågor / planer
Följande fråga returnerar information om frågor, deras planer och genomsnittlig statistik beträffande deras varaktighet, CPU-tid, fysiska och logiska io-läsningar.
SELECT Txt.query_text_id, Txt.query_sql_text, Pl.plan_id,
avg_duration, avg_cpu_time,
avg_physical_io_reads, avg_logical_io_reads
FROM sys.query_store_plan AS Pl
JOIN sys.query_store_query AS Qry
ON Pl.query_id = Qry.query_id
JOIN sys.query_store_query_text AS Txt
ON Qry.query_text_id = Txt.query_text_id
JOIN sys.query_store_runtime_stats Stats
ON Pl.plan_id = Stats.plan_id
Ta bort data från frågeställningen
Om du vill ta bort en fråga eller frågeplan från frågeställningen kan du använda följande kommandon:
EXEC sp_query_store_remove_query 4;
EXEC sp_query_store_remove_plan 3;
Parametrar för dessa lagrade procedurer hämtas fråga / plan-id från systemvyer.
Du kan också bara ta bort exekveringsstatistik för en viss plan utan att ta bort planen från butiken:
EXEC sp_query_store_reset_exec_stats 3;
Parameter som tillhandahålls för denna procedurplan-id.
Tvingande plan för fråga
SQL Query optimizer väljer den möjliga planen som han kan hitta för någon fråga. Om du kan hitta en plan som fungerar optimalt för en fråga, kan du tvinga QO att alltid använda den planen med följande lagrade procedur:
EXEC sp_query_store_unforce_plan @query_id, @plan_id
Från denna punkt kommer QO alltid att använda den plan som anges för frågan.
Om du vill ta bort denna bindning kan du använda följande lagrade procedur:
EXEC sp_query_store_force_plan @query_id, @plan_id
Från denna punkt kommer QO igen att försöka hitta den bästa planen.