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

¿Cuándo debo usar un índice compuesto?

Debe utilizar un índice compuesto cuando utilice consultas que se beneficien de él. Un índice compuesto que se ve así:

index( column_A, column_B, column_C )

beneficiará una consulta que usa esos campos para unirse, filtrar y, a veces, seleccionar. También beneficiará a las consultas que usan subconjuntos de columnas más a la izquierda en ese compuesto. Entonces, el índice anterior también satisfará las consultas que necesitan

index( column_A, column_B, column_C )
index( column_A, column_B )
index( column_A )

Pero no ayudará (al menos no directamente, tal vez pueda ayudar parcialmente si no hay mejores índices) para las consultas que necesitan

index( column_A, column_C )

Observe cómo falta la columna_B.

En su ejemplo original, un índice compuesto para dos dimensiones beneficiará principalmente a las consultas que consulten ambas dimensiones o la dimensión más a la izquierda por sí misma, pero no la dimensión más a la derecha por sí misma. Si siempre está consultando dos dimensiones, un índice compuesto es el camino a seguir, realmente no importa cuál es primero (lo más probable).