La nuova feature di SQL Server 2005 che permette di salvare il piano di esecuzione come XML (XML Showplan) offre anche un'ottimo spunto per ottimizzare al massimo le prestazioni della query associatà al piano di esecuzione prodotto.
Andando ad aprire il file XML con un editor di testo, è possibile trovare l'elemento MissingIndexes. Se questo elemento è presente significa che il Query Optimizer ha stabilito che la query avrebbe potuto avere un piano di esecuzione nettamente migliore se un indice con le caratteristiche descritte nell'elemento in questione fosse esistito.
Le informazioni restituite circa l'indice da creare comprendo, ovviamente, le colonne chiave ma anche le colonne da includere.
Inutile direi che tale informazioni sono di fondamentale importanza per riuscire a creare da subito un indice ottimale, ma è anche bene sottolineare che tale indice sarà ottimo solo per la query analizzata e, molto probabilmente, nessun altra.
Dato quindi che il nostro database deve trovare il suo equilibrio, attenzione a non abusare troppo di queste informazioni, e, nel caso in cui si vogliano trovare gli indici migliori per l'intero sistema e non per la singola query, conviene utilizzare il nuovo Database Tuning Advisor, che sostituisce il buon vecchio Index Tuning Wizard.