Sergio, optimizar una base de datos no es tarea de un paso, son muchas variables que pueden ayudarte a optimizar de la forma mas eficiente tu sistema de bases de datos.
Los indices son algo que debes analizar tu en función de la data y el uso que se le de a cada tabla. Te recomiendo invertir tiempo primero en leer sobre los índices y una vez que sepas exactamente lo que son y como funciona tendras un panorama mas claro sobre cómo aplicarlos a tu data.
Para mi, mas importante que los índices (que varían en cada tabla o ecosistema de base de datos) es el performance tuning que consigas aplicar a tu servidor. Awui nuevamente existen muchas variables que puedes ajustar para mejorar el rendimiento pero por lejos la mas importante es:
innodb_buffer_pool_size
Debes establecer esa variable en alrededor del 80% de la memoria RAM del servidor si este es dedicado o si es compartido en algo como el 40% - 50%.
Investiga un poco sobre mysql performance tuning y la variable innodb_buffer_pool_size y veras resultados asombrosos en el rendimiento.
___________________________
Ing. Jesús Alfredo Uzcanga
Twitter: @JesusUzcanga
We learn the 20% of what we HEAR,
the 50% of what we SEE,
the 80% of what we DO and
the 95% of what we TEACH.
____________________________________________________________
https://www.linkedin.com/in/jauzcanga/