Ricerca…


Abilita l'archivio query sul database

L'archivio query può essere abilitato sul database utilizzando il seguente comando:

ALTER DATABASE tpch SET QUERY_STORE = ON

SQL Server / Database SQL di Azure raccoglierà informazioni sulle query eseguite e fornirà informazioni nelle viste sys.query_store:

  • 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

Ottieni statistiche di esecuzione per query / piani SQL

La seguente query restituirà informazioni su qeries, i loro piani e le statistiche medie riguardanti la loro durata, il tempo della CPU, le letture fisiche e logiche.

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

Rimuovi i dati dall'archivio query

Se si desidera rimuovere alcune query o piani di query dall'archivio query, è possibile utilizzare i seguenti comandi:

EXEC sp_query_store_remove_query 4;
EXEC sp_query_store_remove_plan 3; 

I parametri per queste stored procedure sono l'ID della query / piano recuperato dalle visualizzazioni di sistema.

Puoi anche rimuovere le statistiche di esecuzione per un piano particolare senza rimuovere il piano dallo store:

EXEC sp_query_store_reset_exec_stats 3;  

Parametro fornito a questo ID piano di procedura.

Forzare il piano per la query

SQL Query Optimizer sceglierà il piano possibile baes che può trovare per alcune query. Se è possibile trovare alcuni piani che funzionano in modo ottimale per alcune query, è possibile forzare QO a utilizzare sempre tale piano utilizzando la seguente stored procedure:

EXEC sp_query_store_unforce_plan @query_id, @plan_id

Da questo punto, QO utilizzerà sempre il piano fornito per la query.

Se si desidera rimuovere questa associazione, è possibile utilizzare la seguente stored procedure:

EXEC sp_query_store_force_plan @query_id, @plan_id

Da questo punto, QO tenterà nuovamente di trovare il piano migliore.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow