sys.dm_db_index_usage_stats
Explicando de uma forma simples, pode-se dizer que esta DMV devolve informação sobre os valores dos contadores dos varios tipos de operações realizadas sobre os índices, bem como, a data/hora da realização da última operação de cada tipo.
Assim se pretender saber quais os índices que não estão a ser usados, ou quais deverão ser avaliados em termos de continuarem a existir ou não (devido à sobrecarga ao nível user_updates ser bastante mais elevada que ao nível das user_seeks, user_scans, ou mesmo user_lookups), esta é a DMV correcta !
Ah ! Mas existe um pequeno problema !
Como é do conhecimento público, sempre que o engine do SQL Server é re-inicializado, perdem-se todos os dados históricos.
A questão coloca-se de forma simples. Para que seja possível efectuar uma correcta avaliação da utilização dos índices, numa BD específica, os resultados da DMV sys.dm_db_index_usage_stats deverão ser armazenados numa tabela para uma análise posterior mais cuidada.
Como implementar uma solução para esta questão ?