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.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow