Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/03/2012, 08:21
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Incluir Indice en Tablas ?

Tu mismo te estás respondiendo al plantearte qué pasa con los INSERT cuando sobrecargas de índices una tabla: La performance de las inserciones/Actualizaciones/borrados desciende notoriamente.
El tema es importante, pero especialmente con aquellas tablas que tienen ABMs mas o menos intensos, es decir, donde se hacen estas operaciones o constantemente o en forma masiva. Cada vez que se hace una operación de tipo ABM, los indices deben ser actualizados, por lo que a medida que la tabla crece, el impacto se hace cada vez más notorio.
Es cierto que los índices son una buena forma de acelerar las consultas, pero crear indices que cubran todas las consultas posibles no es una buena idea, porque corres el riesgo de solaparlos, es decir, que dos o más indices cubran un mismo subgrupo de campos. En estos casos es mejor forzar el uso de uno de ellos y no hacer que se generen indices con este tipo de solapamiento.
Por otro lado, en algunos casos los índices pueden terminar funcionando como parches ante consultas que no está optimizadas. Las consultas parecen rápidas, pero esa "rapidez" termina siendo producto del índice, y no de lo optimizada que esté.
Siempre es mejor procurar primero optimizar las consultas, y luego ver si se puede mejorar con índices.
Lo que yo no te recomiendo es plantearte índices para tablas que sólo tienen algunos cientos de registros. El verdadero resultado se empieza a notar cuando los registros son miles, o decenas de miles.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)