Individuare le "query lente"in SQL Server

Individuare le "query lente"in SQL Server

Spesso è necessario individuare quali query e store procedure sono particolarmente lente in SQL Server, inficiando significatamene sulle prestazioni delle nostre applicazioni. Mi è sempre stato di grande aiuto un fantastico tool, totalmente free, sp_whoisactive, che si è rivelato indispensabile per individuare e risolvere le problematiche che le numerose query, generate dai molti processi in concorrenza delle nostre applicazioni, creavano sul db server.

Per avere una fotografia istantanea di quello che sta succedendo sul server, basterà eseguire la store procedure

exec sp_whoisactive

Avremo una serie di informazioni sul tempo di esecuzione, sulle risorse allocate, su eventuali altre sessioni bloccanti e su moltissimi altri aspetti.


E' possibile specificare tutta una serie di parametri per affinare l'indagine, l'elenco completo si può ottenere usando il parametro @help=1

Io trovo particolarmente utile il parametro @get_plans = 1, che ci fornisce anche il query plan per trovare eventuali suggerimenti sul miglioramento della query e sull'introduzione di nuovi indici sulle tabelle coinvolte.

Insomma, spesso gli sviluppatori dovrebbero avere anche delle competenze specifiche di DBA, per ottimizzare le proprie applicazioni, questo tool può davvero aiutarci!

Per visualizzare o aggiungere un commento, accedi

Altri articoli di Marco N.

  • Cambiare il log level a Runtime con slf4j

    Cambiare il log level a Runtime con slf4j

    Recentemente ho avuto la necessità di dovere variare il log level impostato su una applicazione Java in produzione…

  • JAX-RS Security con API-KEY Authorization

    JAX-RS Security con API-KEY Authorization

    Vediamo come implementare facilmente il meccanismo di Authorization di una API REST con JAX-RS tramite API-KEY passata…

Altre pagine consultate