sql >> Databáze >  >> RDS >> Mysql

Jak mohu optimalizovat tento dotaz, jeho provedení trvá déle než minutu

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.



  1. Stáhněte si soubory z databáze MYSQL

  2. Podporuje jdbc perský jazyk

  3. Ukládání dne a měsíce (bez roku)

  4. Zadejte SSL pro připojení k externí databázi Heroku MySQL