Как заставить использовать индекс в сортировке?

Входные данные: MySQL 5.7, таблица действий юзеров (InnoDB), больше миллиона записей, создано разбиение на разделы по HASH(user_id).
Есть запрос вида:
select * from `user_logs` where `user_id` = 189 AND `tt_in_line` = 1 order by `created_at` DESC limit 1;

Поле "created_at" типа datetime.
Также созданы индексы:
CREATE INDEX `full_ndx` (`user_id`, `tt_in_line`, `created_at`) USING BTREE;
CREATE INDEX `short_ndx` (`user_id`, `created_at`) USING BTREE;


Но почему-то запрос не использует индекс "full_ndx", а вместо него использует "short_ndx":
de77bcb54.png

Что я делаю не так при составлении индексов или я упустил какой-то механизм работы в данной версии MySQL?
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы