Plánovač s největší pravděpodobností nepoužívá limit
nápověda k odstranění řádků z tabulky objednávek před spojením. Server tedy musí provést spojení pro všechny řádky a poté vrátit jen několik.
Zkuste toto:
select o.* from
(select * order order by id desc limit 100) 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;
UPRAVIT:Toto bude fungovat pouze v případě, že existuje omezení zaručující přítomnost odpovídajících řádků v tabulkách Produkt a Osoba.