Порядок следования полей в индексе лучше всего определять для данных в вашей таблице.
Если вы хотите построить индекс для оптимизации какого-то определенного запроса, то существует правило, по которому колонки для индекса следует выбирать по selectivity условий в вашем запросе. Т.е. самой первой колонкой должна быть та, where условие для которой фильтрует больше всего записей.
И еще, попробуйте выборку поместить в подзапрос, а order by оставить во внешнем запросе