Come posso trovare la query che causa i DMV di indice mancanti che suggeriscono di creare un indice specifico?
Grazie.
Come posso trovare la query che causa i DMV di indice mancanti che suggeriscono di creare un indice specifico?
Grazie.
Risposte:
Risposta breve: non puoi con una precisione del 100%.
Risposta lunga: è possibile eseguire una query nella cache del piano per identificare i piani con avvisi di indice mancanti e confrontare i risultati con ciò che si trova nei DMV sys.dm_db_missing_index_ *. Ecco uno script che puoi utilizzare per interrogare la cache del piano . Se il piano non viene memorizzato nella cache o viene espulso dalla cache per qualsiasi motivo, non troverai alcuna corrispondenza, quindi torniamo alla risposta breve.
Per essere sicuri al 100%, dovresti tracciare il carico di lavoro e acquisire i piani con indici mancanti. Non è leggero e non è banale. Ecco una sceneggiatura per farlo . Con un piccolo sforzo potrebbe essere portato su Eventi estesi.
Eseguendo una query nella cache del piano per cercare gli indici coinvolti nel calcolo della ricerca degli indici mancanti, i DMV possono essere visualizzati dal collegamento incollato di seguito:
e fare riferimento al collegamento per ulteriori spiegazioni sullo stesso
http://blogs.lessthandot.com/index.php/datamgmt/dbadmin/sql-server-dba-tip-missing-index-dmv/