Nasıl benim SQL sorgusu optimize edilebilir?

0 Cevap php

Ben oldukça slowish MYSQL sorgusu ile ilgili bir sorun var. PHP ve performansı ile bir AJAX menü inşa ediyorum gerçekten bir konudur. Sorgu tamamlamak için yaklaşık 0,5 saniye sürer, ve ben bunu optimize etmek için nasıl bilmiyorum.

The SQL query :

SELECT M.nom_mat, M.id_mat, M.rang, SC.nom_sous_cat, SC.id_sous_cat, C.nom_cat,M.id_cat
FROM besson_mat M
LEFT OUTER JOIN besson_lien_mat LM ON M.id_mat = LM.id_mat
LEFT OUTER JOIN besson_sous_cat SC ON SC.id_sous_cat = LM.id_sous_cat
LEFT OUTER JOIN besson_cat C ON C.id_cat = SC.id_cat
WHERE M.en_ligne = '1'
AND M.lg = 'fr'
AND (
M.id_cat = '28'
OR M.id_cat = '29'
)
OR (
SC.id_sous_cat = '37'
OR SC.id_sous_cat = '42'
OR SC.id_sous_cat = '43'
OR SC.id_sous_cat = '44'
)
ORDER BY C.id_cat ASC , SC.id_sous_cat ASC , M.rang ASC

Eğer daha fazla bilgiye ihtiyacınız olursa Yardımın için teşekkürler, benim sorum güncelleme olacak.

FINAL EDIT

WHERE yan tümcesinde ekstra parantez sorunun nedeni vardı. Şimdi benim Sorgu tamamlamak için yaklaşık 0,0718 saniye sürer, çok teşekkür ederim.

0 Cevap