Индексы BTREE (по умолчанию) могут использоваться для сортировки.Если индекс будет использоваться, зависит от того, что определит оптимизатор.
Вы можете использовать EXPLAIN перед вашим запросом, чтобы увидеть это.
Для этого запроса ORDER BY не окажет большого влияния.как вы ищете конкретный созданный_.
Если бы ваш запрос был больше похож на это:
SELECT * FROM foo WHERE name='blah' ORDER BY created_at DESC
или даже
SELECT * FROM foo WHERE name='blah' and created_at BETWEEN 'a' AND 'z' ORDER BY created_at DESC
Вы бы получили лучшие результаты, используя одинИндекс как по названию, так и по созданному (в таком порядке).Сначала он будет использовать индекс для сопоставления имени, а затем использовать тот же индекс для сортировки результатов.
ALTER TABLE foo ADD INDEX (`name`, `created_at`)
Конечно, это все еще необходимо проверить с помощью EXPLAIN.Оптимизатор базы данных будет делать то, что он считает наилучшим, в зависимости от точных значений запроса и объема данных, которые он оценивает.