実行するのに1分以上かかる次のクエリはどのようにして最適化できますか?そのゆっくりと私はそれを削除した場合、o.idのdescの注文のために遅い数ミリ秒を実行します。続きこのクエリを最適化するには、実行するには1分以上かかります
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;
は、すべてのテーブルはInnoDBテーブルであり、合流主キーと外部キーの上にある
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
を説明した結果です。 130万 製品::7000 注文70000
人インデックスが各テーブルのレコード数
順に人と状態欄のメール列に
ある それ以外
を参照することができ、あなたは関係のために使用されている各属性にインデックスを追加しただけでなく –
をあなたのテーブル構造を投稿してください? (person_id、id、product_id、..)? – blejzz
これらのテーブルに存在するすべてのインデックスを投稿してください – MatBailie