Estadisticas y limitaciones de indices



Los índices como sabemos son una herramienta muy utilizada y de las que nos ofrecen una mayor ganancia en su implementación, pero a la vez el mal uso de los mismos puede causar problemas en la instancia o hasta hacer que un query vaya mucho más lento.

Primero que nada veamos problemas generales, uno de los más comunes que he visto es el hecho de no dar mantenimiento a los índices o a sus estadísticas, si un índice nos dice como buscar algo las estadísticas nos formulan el plan a seguir para poder hacer un uso adecuado de estas.

A que nos referimos digamos que estamos jugando un juego de conocimiento general sobre películas y este fue publicado en el 2000 y salió una expansión en el 2005 y 2010, hemos jugado tanto el juego normal que nos sabemos todas las preguntas, por lo cual creamos ciertas estadísticas de ellos. Sabemos cuántas preguntas existe de cada actor, de cada género y debido a esto podemos saber cómo responder rápidamente o saber dónde buscar en nuestra mente, libros, colección, etc. Pero como mencionamos cada 5 años se actualiza este juego y nosotros no actualizamos esto porque no sabemos del cambio no podremos dar las mejores respuestas debido a que la información con la que contamos no está al día, por lo cual es importante tanto poder tener el juego al día (datos e índices) como los planes de juego (estadísticas).

Las estadísticas son creadas cuando se crea un índice o cuando tenemos crear estadísticas automáticamente y buscamos sobre algo que no esté contenido en un índice y obviamente creándolas manualmente.

Las estadísticas en si tienes un conocimiento sobre grupos de información, desde un count, sum o average y lo van construyendo, sobre la marcha, esto hace que pueda tomar la mejor decisión de que acción tomar pero si tanto ellas como las estadísticas se encuentran sin actualizar esto crea una discrepancia que puede llevar a tomar un mal plan de ejecución, esto es lo que genera que una consulta "que antes corría en 30 segundos ahora se tarde 5 minutos".

Otras cuestiones es el espacio que pueden llegar a ocupar, los índices tienen muchas maneras de ser creados y con variadas combinaciones, pero en ocasiones existen lugares que por desconocimiento o hasta un sistema heredado estos pueden tener tantos índices que su tamaño es igual o hasta mayor que la misma base de datos.

Más información:

Comentarios

Entradas más populares de este blog

Mover indices no clustered a un nuevo filegroup