Los índices suelen ser la primer opción al momento de optimizar una base de datos MySQL. Sin embargo, no se trata de crear índices así porque si sobre cualquier campo.

Los siguientes, son una serie de consejos a la hora de crear índices:

  • Indexar solo las columnas que lo ameriten: indexar solo las columnas sobre las que se realizan búsquedas, es decir, aquellas que se utilizan en un WHERE o un JOIN.
  • Utilizar índices únicos: los índices trabajan mejor sobre columnas con valores únicos y peor en aquellas que tienen muchos duplicados.
  • Utilizar índices cortos: prestar especial cuidado al momento de utilizar índices sobre campos CHAR. Para tal caso, no es conveniente indexar columnas enteras, si la mayor parte de los valores son únicos dentro de los 10 o 20 primeros caracteres, basta con indexar esa cantidad de caracteres.
  • No abusar de los índices: los índices deben ser actualizados, y reorganizados cuando se realicen INSERTs, UPDATEs y DELETEs. lo que ralentiza el sistema.
  • Considerar el tipo de comparaciones a realizar en un registro: los índices se utilizan con los operadores <, <=, =, >=, >, BETWEEN y LIKE, no así con las funciones. Por lo tanto, si se utiliza la función STRCMP() para la comparación de cadenas, es innecesario un índice.

Vía: tufuncion