Quiero crear los mejores índices para cada tabla en mi base de datos. ¿Hay alguna consulta o herramienta en SQL Server para ayudar con este proceso?
Quiero crear los mejores índices para cada tabla en mi base de datos. ¿Hay alguna consulta o herramienta en SQL Server para ayudar con este proceso?
Respuestas:
Sí, hay herramientas, como el asesor de ajuste del motor de base de datos. Se entrega con SQL Server y hace algunas cosas bastante desagradables:
El enfoque adecuado para el ajuste del índice es considerar toda su carga de trabajo durante un ciclo comercial completo. A veces es mejor recurrir a herramientas de terceros que reinventar la rueda. DBSophic hace un producto gratuito llamado Qure Workload Analyzer que creo que hace un trabajo mucho mejor que DTA, pero su herramienta con licencia (Qure Workload Optimizer) es absolutamente fenomenal en lo que hace. El año pasado escribí en un blog sobre cómo funciona la herramienta cuando se integra con SQL Sentry ).
También hay algunas otras opciones, por ejemplo, los índices faltantes se informan en los DMV, y también puede descubrir en qué índices se están escribiendo (por lo que ocupan espacio y afectan las operaciones de inserción / actualización / eliminación) pero nunca (o rara vez ) utilizado por las consultas de los usuarios:
Pero estos también necesitan la advertencia de que los DMV solo son válidos desde el último reinicio de SQL Server, y que no necesariamente cubrirán un ciclo comercial adecuado (y por lo tanto pueden faltar información vital
La herramienta de la que está hablando se denomina Asesor de ajuste de motor de base de datos (DTA para abreviar). Puede tomar una cantidad de entradas y dar recomendaciones sobre cosas como índices faltantes. Sin embargo, vale la pena señalar que estas son solo sugerencias y que se debe considerar cuidadosamente en lugar de seguir ciegamente las recomendaciones del DTA.
Enlace para el tutorial de DTA
También vale la pena señalar que hay DMV integrados para recopilar ese tipo de información: