Estoy trabajando en un almacén de datos. Tengo tablas con hasta 200 millones de registros. Algunas de estas tablas tienen más de 20 índices (en primer lugar, no puedo proporcionar una razón por la que se crearon). Esto hace que el trabajo de mantener estos índices sea demasiado doloroso y tiene un impacto directo en el trabajo de importación de DWH tanto en el rendimiento como en el tiempo de ejecución.
¿Cómo puedo encontrar los índices menos utilizados en cada tabla? (para deshacerse de ellos)
sql-server
ssms
Musulmán Ben Dhaou
fuente
fuente
sys.dm_db_index_usage_stats
proporciona esa información.Respuestas:
Prueba este script, me ha ayudado en el pasado:
http://blog.sqlauthority.com/2011/01/04/sql-server-2008-unused-index-script-download/
fuente
Descubrí que la secuencia de comandos BlitzIndex gratuita de Brent Ozar Unlimited (escrita por Kendra Little) es la mejor manera de aislar índices no utilizados (así como índices que son beneficiosos para agregar, índices que duplican el trabajo de otros índices, etc.)
http://www.brentozar.com/blitzindex/
Le indicará la cantidad de veces que se ha leído un índice desde la última vez que se restablecieron los recuentos estadísticos (o se creó / recreó un índice).
Me parece recordar que Brent Ozar dijo en la transmisión web que una buena regla general es no más de 10 índices para una tabla que se lee con frecuencia, 20 para las tablas que son datos estáticos / históricos / archivados que no cambiarán con frecuencia.
Si aún tiene problemas con la velocidad de importación, ¿hay un momento en que la base de datos no se consulta activamente (quizás esto sea fuera del horario de oficina). Puede ser beneficioso descartar el índice, importar los datos y luego volver a aplicar los índices. (Las estadísticas se restablecerán, por supuesto). La razón de esto es que los índices se actualizarán a medida que ingrese cada registro, las páginas se reordenarán y eso lleva tiempo y E / S de disco. Crear los índices después requiere un solo escaneo de la tabla.
Sin una regla estricta y rápida, puede que tenga que experimentar con esto dependiendo de los tipos de índice y los datos involucrados. Los índices deben revisarse periódicamente a medida que cambian las necesidades / consultas.
fuente
Prueba esto:
Raj
fuente
Agregué la última fecha de uso y código para pasar a la consulta de Raj.
fuente