Estou trabalhando em um data warehouse. Eu tenho tabelas com até 200 milhões de registros. Algumas dessas tabelas têm mais de 20 índices (não posso fornecer uma razão pela qual eles foram criados em primeiro lugar). Isso está tornando o trabalho de manter esses índices muito dolorosos e tem um impacto direto no trabalho de importação do DWH no desempenho e no tempo de execução.
Como posso encontrar os índices menos usados em cada tabela? (para se livrar deles)
sql-server
ssms
Muçulmano Ben Dhaou
fonte
fonte
sys.dm_db_index_usage_stats
fornece essas informações.Respostas:
Experimente este script, ele me ajudou no passado:
http://blog.sqlauthority.com/2011/01/04/sql-server-2008-unused-index-script-download/
fonte
Descobri que o script BlitzIndex gratuito do Brent Ozar Unlimited (escrito por Kendra Little) é a melhor maneira de isolar índices não utilizados (bem como índices que são benéficos para serem adicionados, índices que estão duplicando o trabalho de outros índices etc.)
http://www.brentozar.com/blitzindex/
Ele informará o número de vezes que um índice foi lido desde a última vez em que as contagens estatísticas foram redefinidas (ou um índice foi criado / recriado).
Eu me lembro de Brent Ozar dizendo no webcast que uma boa regra geral é não mais do que 10 índices para uma tabela que é lida frequentemente, 20s para tabelas que são dados estáticos / históricos / arquivados que não mudam com freqüência.
Se você ainda está tendo problemas com a velocidade de importação, existe um momento em que o banco de dados não está sendo consultado ativamente (talvez esteja fora do horário comercial). Pode ser benéfico eliminar o índice, importar os dados e reaplicar os índices. (As estatísticas serão redefinidas, é claro.) O motivo é que os índices serão atualizados à medida que cada registro entra, as páginas são reordenadas e isso leva tempo e E / S do disco. Construir os índices depois requer uma única varredura da tabela.
Nenhuma regra rígida e rápida, você pode ter que experimentar isso dependendo dos tipos de índice e dos dados envolvidos. Os índices devem ser revisados regularmente conforme as necessidades / consultas mudam.
fonte
Tente o seguinte:
Raj
fonte
Adicionei a data e o código da última vez em que foi usado na consulta de Raj.
fonte