Под "ключами" я полагаю, вы имеете в виду индексированные столбцы.
Вообще говоря, СУБД будет использовать один индекс и один индекс только для доступа к таблице.
Оптимизатор, очевидно, решил использовать индекс для фильтрации "где ="
и затем сортируйте повторяющийся вывод. Он может использовать индекс по порядку столбца, чтобы получить все строки в правильной последовательности, а затем отфильтровать остальные, но это может испортить соединение.
Если вы подумаете об этом, вы увидите, что трудно сделать что-то еще. После того, как вы выбрали строку в результирующем наборе, индекс становится практически бесполезным, поскольку он указывает на строку на диске.
Вы можете попробовать объединить все три столбца в один индекс, что может привести к дополнительным трюкам.