У меня есть запрос с предложением ORDER BY, который использует столбец, который является последним столбцом в индексе, который используется в предложении WHERE, по существу, в форме:
SELECT
cols
FROM
tables
WHERE
col_1 = x
AND col_2 = y
AND col_3 = z
ORDER BY col_4
и индекс создается для столбцов (col_1, col_2, col_3, col_4) в указанном порядке.
При профилировании запроса более 99% времени уходит в состояние «Результат сортировки». col_4 - это столбец отметки времени, если это имеет значение. Я понимаю, что ORDER BY может использовать индекс только при определенных обстоятельствах, но я все еще немного озадачен тем, когда именно оптимизатор сделает это.