У меня следующий запрос, выполнение которого занимает более минуты, как я могу его оптимизировать.Это медленно из-за порядка по o.id desc , если я удаляю его, запрос выполняет его несколько мс.
select o.*, per.email, p.name
from order o
inner join product p
on o.product_id=p.id
inner join person per
on o.person_id=per.id
order by o.id desc
limit 100;
Ниже приводится результат объяснения
1 SIMPLE p index PRIMARY FK2EFC6C1E5DE2FC 8 NULL 6886 Using index; Using temporary; Using filesort
1 SIMPLE o ref FK67E9050121C383DB,FK67E90501FC44A17C FK67E90501FC44A17C 8 dev.p.id 58
1 SIMPLE per eq_ref PRIMARY PRIMARY 8 dev.o.person_id 1 Using index
Все таблицы InnoDB, а соединения - по первичному и внешнему ключам.Кроме этого, индексы находятся в электронная почта столбец в Персона и статус столбец в Порядок
Количество записей в каждомстол
человек: 1 300 000 продукт: 7 000 заказ: 70 000