Какой индекс поставить в таблицу innodb mysql?

267
24 января 2018, 13:22

Есть большая таблица больше 10 гигобайт, есть запрос такого типа

SELECT * from humans WHERE `lastname_id` = '223' AND `firstname_id` = '72' ORDER BY `rate` DESC LIMIT 10 OFFSET 10

Какой индекс необходимо поставить для максимального быстродействия? Сейчас стоит на lastname_id, firstname_id и rate а также составной на всех этих трех полях. Таблица innodb. Когда проверяю через explain то вижу, что используются отдельные индексы lastname_id и firstname_id, а составной индекс (у меня он называется lastname_id_2) не используется. И данная картинка не есть хорошо... Почему не используется составной индекс? Скрин индексов:

READ ALSO
MySQL сложный запрос JOIN

MySQL сложный запрос JOIN

Уважаемые, небольшой ступор как сделать запросЕсть две таблицы, в одной данные для каждого объекта, а во второй его состояние(id, время когда...

304
Ограничить JOIN одной строкой

Ограничить JOIN одной строкой

Есть таблица MySQL с заказами и timestamp и id этих заказов, а есть таблица с обработкой заказов, но обработок может быть несколькосвязка по id заказа

295
Как составить такой вот sql запрос?

Как составить такой вот sql запрос?

Вот моя карта умаНа ней видно что поля таблицы Match team_one и team_two обращаются к таблице Team по полю id, т

238
Первый раз встречающиеся по дате

Первый раз встречающиеся по дате

Есть табличка состоящая из колонок id, date, statusid повторяются

229