Una tabla tiene un índice compuesto en (last_name, first_name). ¿Qué consulta puede usarlo de forma eficiente?
Opciones
- WHERE first_name = 'Ana'
- WHERE last_name = 'Ruiz' (Opción correcta)
- WHERE first_name LIKE '%a'
- Ninguna de ellas
Respuesta
WHERE last_name = 'Ruiz'
Por qué
Un índice compuesto está ordenado por la primera columna y, dentro de cada valor, por la segunda, como una guía telefónica ordenada por apellido y luego por nombre.
Puedes encontrar rápido a todos los Ruiz, o a Ruiz + Ana. Pero encontrar a todas las 'Ana' sin importar el apellido implica recorrer toda la guía.
Es la regla del prefijo izquierdo: el índice solo ayuda si filtras por sus primeras columnas.
Recuerda
El índice compuesto funciona de izquierda a derecha.