2017-03-24 7 views
0

どのように私はこのクエリを更新できますか?JOIN slow nown my query

JOINを使用すると、クエリが遅くなるのはなぜですか?

SELECT v.vare_id, 
     LEFT(v.varenavn, 25) as varenavn, 
     v.salgspris, 
     ve.enhed, 
     ve.vare_enhed_id, 
     vt.tilstand, 
     vt.vare_tilstand_id, 
     v.oko_vare, 
     v.varefoto 
FROM vare v 

JOIN vare_enhed_valg vev 
    ON vev.vare_id = v.vare_id 

JOIN vare_enhed ve 
    ON ve.vare_enhed_id = vev.enhed_id 

JOIN vare_tilstand_valg vtv 
    ON vtv.vare_id = v.vare_id 

JOIN vare_tilstand vt 
    ON vt.vare_tilstand_id = vtv.tilstand_id 

WHERE v.vare_type_id = 1 
    AND v.synlig = "ja" 

ORDER BY v.varenavn ASC 
+0

遅い - 何に比べて? – jarlh

+0

「v.vare_type_id」、「v.synlig」、および「v.varenavn」に索引を追加します。あなたはまた、それが遅いかどうかを見るためにPHPで注文をしようとすることができます.. –

答えて

0

インデックスには、vare(vare_type_id, v.synlig, v.varenavn)というインデックスが必要です。他のインデックスが適切かもしれません。結合キーに少なくとも1つのテーブルの主キーが含まれていると仮定します。