Tengo una consulta con una cláusula ORDER BY que utiliza una columna que es la última columna de un índice que se utiliza en la cláusula WHERE, esencialmente de la forma:
SELECT
cols
FROM
tables
WHERE
col_1 = x
AND col_2 = y
AND col_3 = z
ORDER BY col_4
y el índice se crea en columnas (col_1, col_2, col_3, col_4) en ese orden.
Cuando perfilo la consulta, más del 99% del tiempo se pasa en el estado "Resultado de la clasificación". col_4 es una columna de marca de tiempo si eso hace alguna diferencia. Entiendo que ORDER BY solo puede usar un índice bajo ciertas circunstancias, pero todavía estoy un poco desconcertado sobre cuándo exactamente lo haría el optimizador.