sql >> Base de Datos >  >> RDS >> Mysql

MySQL:diferencia entre `... AGREGAR ÍNDICE (a); ... AGREGAR INDICE(b);` y `... AGREGAR INDICE(a,b);`?

El ÍNDICE combinado es una combinación de las claves "a" y "b". Mejora significativamente el acceso si "a" o "a" Y "b" son parte de la expresión de búsqueda.

Este índice no es útil si proporciona solo "b" en sus instrucciones SQL.

Por lo tanto, podría ser útil proporcionar dos índices diferentes, pero deberían usar nombres diferentes.

Dependiendo de los patrones de acceso, recomendaría un índice en "a" y "b" y un índice adicional en "b" si esto coincide con sus necesidades.

Tenga en cuenta que cualquier índice adicional ralentiza la base de datos en todas las operaciones que modifican los datos. Algunas veces es mejor mantener alejados algunos índices. Normalmente es un buen consejo NO UTILIZAR índices en ninguna columna de una tabla.

Una pista más:para decidir si se debe usar un ÍNDICE (a, b) o un ÍNDICE (b, a), eche un vistazo a la distribución de sus datos. Coloque los valores con la mayor dispersión de diferentes valores en la primera columna del índice para aumentar la selectividad de ese índice. Este valor normalmente se basa en la calidad del primer elemento del índice.

Por ejemplo, un índice en las columnas NOMBRE y SEXO debe crearse como ÍNDICE (NOMBRE, SEXO) porque hay muchos más nombres que diferentes sexo (es?).