Mailinglisten-Archive |
Hi, hat jemand von Euch ne Idee, wie sich folgende abfrage optimieren laesst ? Im Prinzip dient sie dazu bestimmte daten eines artikels anzuzeigen und zu visuallisieren, ob es in anderen tabellen (bild oder profil) noch min einen ref. Datensatz gibt. Im moment benoetigt sie ca. 2sec :| -- SELECT a.artnr_neu, a.wbez, h.name, a.okat, a.ukat, a.vk, IF ( a.kurz != '', 1, 0 ) AS iskurz, IF ( a.lang != '', 1, 0 ) AS islang, IF ( ia.imgid IS NULL , 0, 1 ) AS isimg, IF ( pa.pid IS NULL , 0, 1 ) AS isprof, rt.rank FROM artdata a LEFT JOIN hersteller h ON a.hersteller = h.id LEFT JOIN img_to_art ia ON a.artnr_neu = ia.artnr LEFT JOIN profkat_to_art pa ON a.artnr_neu = pa.artnr LEFT JOIN rankingtotal rt ON a.artnr_neu = rt.artnr GROUP BY a.artnr_neu ORDER BY rt.rank DESC LIMIT 0,15 --- explain gibt folgendes zurueck --- h system PRIMARY NULL NULL NULL 0 const row not found a ALL NULL NULL NULL NULL 14102 ia ref PRIMARY,artnr PRIMARY 14 a.artnr_neu 27 Using index pa ref PRIMARY,artnr PRIMARY 14 a.artnr_neu 2 Using index rt eq_ref artnr artnr 14 a.artnr_neu 1 ---- Indizes sind soweit ich das sehe richtig gesetzt. Ich hoffe das reicht fuer einen ersten Tip ansonsten stelle auch gern noch mehr Informationen zur Verfuegung. Die performancetips im Manuell hab ich bereits durchgeschaut, aber leider bisher keinen Erfolg erzielen koennen. Gruesse, niko -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive