Home > Articoli > SQL Server 2016 Query Store

SQL Server 2016 Query Store

Vi è mai successo di avere il sito web aziendale talmente lento da essere inutilizzabile? Cosa sta succedendo? Avete mai aggiornato un’applicazione all’ultima versione di SQL Server e incontrato problemi di performance dovuti all’utilizzo di un diverso Piano di Esecuzione per determinate query? La scelta di un diverso piano di esecuzione può causare questi inconvenienti!

L’identificazione e la soluzione dei problemi di performance dovuti alla scelta di un diverso piano di esecuzione da parte del Query Optimizer, richiede molto tempo. In questi casi vi sarete chiesti “Quale era il piano di esecuzione precedente per questa query? Quello che garantiva ottime performance!”.

Nelle precedenti versioni di SQL Server era possibile rispondere a questa domanda attraverso Performance Data Collector, che però non permetteva di raccogliere metriche e statistiche dettagliate su tutti i piani di esecuzione utilizzati per una determinata query, ma soprattutto non permetteva di forzare uno specifico piano di esecuzione. La forzatura del piano di esecuzione per una determinata query era possibile solo attraverso l’implementazione di una Plan Guide oppure aggiungendo un Query Hint direttamente nel testo della query (operazione non sempre possibile, specialmente su applicazioni di terze parti per le quali non si dispone del codice sorgente oppure non si può modificarlo).

SQL Server 2016, con una nuova feature nota con il nome di Query Store, semplifica l’identificazione e la soluzione di questi problemi. Query Store memorizza tutti i piani di esecuzione utilizzati per una determinata query, cattura le statistiche relative alle performance di esecuzione, fornisce al DBA gli strumenti per forzare in modo estremamente semplice il piano di esecuzione per una determinata query.

Molto presto, SQL Server 2016 sarà sui vostri server e questa feature rappresenta un “must know”.

Per sapere come funziona Query Store, conoscere come vengono catturati i piani di esecuzione e come è possibile confrontarli per forzare quello ottimale, potete leggere questo articolo sul blog Microsoft MVP: SQL Server 2016 Query Store.

SQL Server 2016 Query Store (MVP Blog) M

Vi segnalo anche la raccolta SQL Server Query Store su docs.com in cui potete trovare anche il link alla registrazione della sessione “SQL Server 2016 Query Store: Un nuovo modo di ottimizzare le query” tenuta da Saverio Lorenzini durante lo scorso SQL Saturday Parma 2015.

SQL Server 2016 Query Store (docs.com)

Buon divertimento!

Chi è Sergio Govoni

Sergio Govoni è laureato in Scienze e Tecnologie Informatiche. Da oltre 16 anni lavora presso una software house che produce un noto sistema ERP, distribuito a livello nazionale ed internazionale, multi azienda client/server su piattaforma Win32. Attualmente si occupa di progettazione e analisi funzionale, coordina un team di sviluppo ed è responsabile tecnico di prodotto. Lavora con SQL Server dalla versione 7.0 e si è occupato d'implementazione e manutenzione di database relazionali in ambito gestionale, ottimizzazione delle prestazioni e problem solving. Nello staff di UGISS si dedica alla formazione e alla divulgazione in ambito SQL Server e tecnologie a esso collegate, scrivendo articoli e partecipando come speaker ai workshop e alle iniziative del primo e più importante User Group Italiano sulla tecnologia SQL Server. Ha conseguito la certificazione MCP, MCTS SQL Server. Per il suo contributo nelle comunità tecniche e per la condivisione della propria esperienza con altri, dal 2010 riceve il riconoscimento SQL Server MVP (Microsoft Most Valuable Professional). Nel corso dell'anno 2011 ha contribuito alla scrittura del libro SQL Server MVP Deep Dives Volume 2 (http://www.manning.com/delaney/).

Leggi Anche

Unit testing: Come scrivere la tua prima unit test!

Nell’articolo precedente, il secondo di questa serie, abbiamo descritto come installare il framework tSQLt, il …